Tue 25 Jun 2019 16:20 - 16:40 at 229AB - Dynamics: Analysis and Compilation Chair(s): Nadia Polikarpova

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 Jun

pldi-2019-papers
16:00 - 17:00: PLDI Research Papers - Dynamics: Analysis and Compilation at 229AB
Chair(s): Nadia PolikarpovaUniversity of California, San Diego
pldi-2019-papers16:00 - 16:20
Talk
David Mitchel PerryPurdue University, Dohyeong KimPurdue University, Roopsha SamantaPurdue University, Xiangyu ZhangPurdue University
Pre-print Media Attached
pldi-2019-papers16:20 - 16:40
Talk
Timotej KapusImperial College London, Oren Ish-ShalomTel Aviv University, Israel, Shachar ItzhakyTechnion, Israel, Noam RinetzkyTel Aviv University, Cristian CadarImperial College London
Link to publication Pre-print Media Attached
pldi-2019-papers16:40 - 17:00
Talk
Jiho ChoiUniversity of Illinois at Urbana-Champaign, Thomas ShullUniversity of Illinois at Urbana-Champaign, Josep TorrellasUniversity of Illinois at Urbana-Champaign