Computing Summaries of String Loops in C for Better Testing and Refactoring
Analysing and comprehending C programs that use strings
is hard: using standard library functions for manipulating
strings is not enforced and programs often use complex loops
for the same purpose. We introduce the notion of memoryless
loops that capture some of these string loops and present a
counterexample-guided synthesis approach to summarise
memoryless loops using C standard library functions, which
has applications to testing, optimisation and refactoring.
We prove our summarisation is correct for arbitrary input
strings and evaluate it on a database of loops we gathered
from thirteen open-source programs. Our approach can summarise
over two thirds of memoryless loops in less than
five minutes of computation time per loop. We then show
that these summaries can be used to (1) improve symbolic
execution (2) optimise native code, and (3) refactor code.
Tue 25 JunDisplayed time zone: Tijuana, Baja California change
16:00 - 17:00 | Dynamics: Analysis and CompilationPLDI Research Papers at 229AB Chair(s): Nadia Polikarpova University of California, San Diego | ||
16:00 20mTalk | SemCluster: Clustering of Imperative Programming Assignments Based on Quantitative Semantic Features PLDI Research Papers David Mitchel Perry Purdue University, Dohyeong Kim Purdue University, Roopsha Samanta Purdue University, Xiangyu Zhang Purdue University Pre-print Media Attached | ||
16:20 20mTalk | Computing Summaries of String Loops in C for Better Testing and Refactoring PLDI Research Papers Timotej Kapus Imperial College London, Oren Ish-Shalom Tel Aviv University, Israel, Shachar Itzhaky Technion, Israel, Noam Rinetzky Tel Aviv University, Cristian Cadar Imperial College London Link to publication Pre-print Media Attached | ||
16:40 20mTalk | Reusable Inline Caching for JavaScript Performance PLDI Research Papers Jiho Choi University of Illinois at Urbana-Champaign, Thomas Shull University of Illinois at Urbana-Champaign, Josep Torrellas University of Illinois at Urbana-Champaign |