ISSTA 2019
Mon 15 - Fri 19 July 2019 Beijing, China
Fri 19 Jul 2019 11:22 - 11:45 at Grand Ballroom - Static Analysis and Debugging Chair(s): Arie van Deursen

Call graphs are widely used; in particular for advanced control- and data-flow analyses. Even though many call graph algorithms with different precision and scalability properties have been proposed, a comprehensive understanding of sources of unsoundness, their relevance, and the capabilities of existing call graph algorithms in this respect is missing.

To address this problem, we propose Judge, a toolchain that helps with understanding sources of unsoundness and improving the soundness of call graphs. In several experiments, we use Judge and an extensive test suite related to sources of unsoundness to (a) compute capability profiles for call graph implementations of Soot, WALA, DOOP, and OPAL, (b) to determine the prevalence language features and APIs that affect soundness in modern Java Bytecode, (c) to compare the call graphs of Soot, WALA, DOOP, and OPAL, highlighting important differences in their implementations, and (d) to evaluate the necessary effort to achieve project-specific reasonable sound call graphs.

We show that soundness-relevant features/APIs are frequently used and that support for them differs vastly, up to the point where comparing call graphs computed by the same base algorithms (e.g., RTA) but different frameworks is bogus. We also show that Judge can support users in establishing the soundness of call graphs with reasonable effort.

slides (JUDGE_Slides.pdf)11.5MiB

Fri 19 Jul

Displayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change

11:00 - 12:30
Static Analysis and DebuggingTechnical Papers at Grand Ballroom
Chair(s): Arie van Deursen Delft University of Technology
11:00
22m
Talk
Differentially Testing Soundness and Precision of Program Analyzers
Technical Papers
Christian Klinger University of Texas, Austin, Maria Christakis MPI-SWS, Valentin Wüstholz ConsenSys Diligence
Pre-print
11:22
22m
Talk
Judge: Identifying, Understanding, and Evaluating Sources of Unsoundness in Call Graphs
Technical Papers
Michael Reif TU Darmstadt, Germany, Florian Kübler TU Darmstadt, Germany, Michael Eichberg TU Darmstadt, Germany, Dominik Helm TU Darmstadt, Germany, Mira Mezini TU Darmstadt, Germany
Pre-print File Attached
11:45
22m
Talk
Adlib: Analyzer for Mobile Ad Platform LibrariesArtifacts ReusableArtifacts Functional
Technical Papers
Sungho Lee KAIST, South Korea, Sukyoung Ryu KAIST, South Korea
DOI Pre-print
12:07
22m
Talk
Interactive Metamorphic Testing of Debuggers
Technical Papers
Sandro Tolksdorf TU Darmstadt, Daniel Lehmann TU Darmstadt, Michael Pradel TU Darmstadt and Facebook
Link to publication DOI Pre-print