The development of a high-quality data-flow analysis—one that is precise and scalable—is a challenging task. A concrete client analysis not only requires data-flow but, in addition, type-hierarchy, points-to, and call-graph information, all of which need to be obtained by wisely chosen and correctly parameterized algorithms. Therefore, many static analysis frameworks have been developed that provide analysis writers with generic data-flow solvers as well as those additional pieces of information. Such frameworks ease the development of an analysis by requiring only a description of the data-flow problem to be solved and a set of framework parameters. Yet, analysis writers often struggle when an analysis does not behave as expected on real-world code. It is usually not apparent what causes a failure due to the complex interplay of the several algorithms and the client analysis code within such frameworks. In this work, we present some of the insights we gained by instrumenting the LLVM-based static analysis framework PhASAR for C/C++ code and show the broad area of applications at which flexible instrumentation supports analysis and framework developers. We present five cases in which instrumentation gave us valuable insights to debug and improve both, the concrete analyses and the underlying PhASAR framework.

Sat 22 Jun
Times are displayed in time zone: Tijuana, Baja California change

09:15 - 11:00: Performance and Optimizations for Program Analysis ToolsSOAP at 106A
Chair(s): Neville GrechUniversity of Athens
09:15 - 09:35
Talk
SOAP
09:35 - 09:55
Talk
SOAP
Philipp Dominik SchubertHeinz Nixdorf Institut, Paderborn University, Richard LeerHeinz Nixdorf Institut, Paderborn University, Ben HermannPaderborn University, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
Pre-print Media Attached
09:55 - 10:15
Talk
SOAP
Lawton Nichols, Mehmet EmreUniversity of California, Santa Barbara, Ben HardekopfUC Santa Barbara
10:15 - 11:35
Talk
SOAP
10:35 - 11:00
Other
SOAP