ETAPS 2019
Sat 6 - Thu 11 April 2019 Prague, Czech Republic
Thu 11 Apr 2019 15:30 - 16:00 at SUN I - Safety and Fault-tolerant Systems Chair(s): Rance Cleaveland

Static program analysis is used to automatically determine program properties, or to detect bugs or security vulnerabilities in programs. It can be used as a stand-alone tool or to aid compiler optimization as an intermediary step. Developing precise, inter-procedural static analyses, however, is a challenging task, due to the algorithmic complexity, implementation effort, and the threat of state explosion which leads to unsatisfactory performance. Software written in C and C++ is notoriously hard to analyze because of the deliberately unsafe type system, unrestricted use of pointers, and (for C++) virtual dispatch. In this work, we describe the design and implementation of the LLVM-based static analysis framework for C/C++ code. PhASAR allows data-flow problems to be solved in a fully automated manner. It provides class hierarchy, call-graph, points-to, and data-flow information, hence requiring analysis developers only to specify a definition of the data-flow problem. PhASAR thus hides the complexity of static analysis behind a high-level API, making static program analysis more accessible and easy to use. PhASAR is available as an open-source project. We evaluate PhASAR’s scalability during whole-program analysis. Analyzing 12 real-world programs using a taint analysis written in PhASAR, we found ’s abstractions and their implementations to provide a whole-program analysis that scales well to real-world programs. Furthermore, we peek into the details of analysis runs, discuss our experience in developing static analyses for C/C++, and present possible future improvements.

Thu 11 Apr

tacas-2019-papers
14:00 - 16:00: TACAS 2019 - Safety and Fault-tolerant Systems at SUN I
Chair(s): Rance CleavelandUniversity of Maryland
tacas-2019-papers14:00 - 14:30
Talk
Link to publication
tacas-2019-papers14:30 - 15:00
Talk
Ilina StoilkovskaVienna University of Technology , Igor KonnovInria Nancy, Josef WidderTU Wien, Florian ZulegerVienna University of Technology
Link to publication
tacas-2019-papers15:00 - 15:30
Talk
Pablo CastroDept. of Computer Science FCEFQyN, University of Rio Cuarto, Pedro D'Argenio, Ramiro Demasi, Luciano Putruele
Link to publication
tacas-2019-papers15:30 - 16:00
Talk
Philipp Dominik SchubertHeinz Nixdorf Institut, Paderborn University, Ben HermannUniversity of Paderborn, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
Link to publication