Understanding the Gaps in Static Program Analysis
The study of large corpora of programs traditionally focuses on some form of static analysis of programs in order to analyse some of their characteristics. Making programs compilable or even executable is challenging, but facilitates the study of runtime characteristics outside the reach of static analysis.
We will present an experiment that is based on a set of executable Java programs (the xcorpus). A high coverage driver was used to exercise the programs and record runtime behaviour, in particular method invocations. This was then used to detect false negatives (gaps) of various static analyses. This study provides new insights into the recall rates (“soundness”) of static analysis, which particular language features cause false negatives and to which extent, how the precision of analysis influences recall, and how effective state-of-the-art “reflection support” features in static analysis are.
I am an Associate Professor in the School of Engineering and Advanced Technology (SEAT) at the Turitea (Palmerston North) Campus of Massey University. I have a Master in Mathematics and a PhD in Computer Science from the University of Leipzig. I have worked for a couple of years in industry as consultant in Germany, Namibia, Switzerland and the UK, and returned in 2003 to academia. My research interests are in the areas of software componentry and evolution and static analysis.
Mon 21 OctDisplayed time zone: Beirut change
14:00 - 15:30
|Understanding the Gaps in Static Program Analysis|
Jens Dietrich Victoria University of Wellington
|50K-C: A Dataset of Compilable, and Compiled, Java Projects|
Rohan Achar UC Irvine
|NJR: Executable, Scriptable, and Searchable Java Programs|
Jens Palsberg University of California, Los Angeles