Domain-Independent Interprocedural Program Analysis using Block-Abstraction Memoization
Whenever a new software-verification technique is developed, additional effort is necessary to extend the new program analysis to an interprocedural one, such that it supports recursive procedures. We would like to reduce that additional effort. Our contribution is an approach to extend an existing analysis in a modular and domain-independent way to an interprocedural analysis without large changes: We present interprocedural block-abstraction memoization (BAM), which is a technique for procedure summarization to analyze (recursive) procedures.
For recursive programs, a fix-point algorithm terminates the recursion if every procedure is sufficiently unrolled and summarized to cover the abstract state space.
BAM Interprocedural works for data-flow analysis and for model checking, and is independent from the underlying abstract domain.
To witness that our interprocedural analysis is generic and configurable, we defined and evaluated the approach for three completely different abstract domains: predicate abstraction, explicit values, and intervals. The interprocedural BAM-based analysis is implemented in the open-source verification framework CPAchecker. The evaluation shows that the overhead for modularity and domain-independence
is not prohibitively large and the analysis is still competitive with other state-of-the-art software-verification tools.
Thu 12 Nov Times are displayed in time zone: (UTC) Coordinated Universal Time change
|08:30 - 08:32|
|Domain-Independent Interprocedural Program Analysis using Block-Abstraction Memoization|
Research PapersDOI Pre-print Media Attached
|08:33 - 08:34|
|Inherent Vacuity for GR(1) Specifications|
|08:35 - 08:36|
|Interval Counterexamples for Loop Invariant Learning|
|08:37 - 08:38|
|Modular Collaborative Program Analysis in OPAL|
Dominik HelmTU Darmstadt, Germany, Florian KüblerTU Darmstadt, Germany, Michael ReifTU Darmstadt, Germany, Michael EichbergTU Darmstadt, Germany, Mira MeziniTU Darmstadt, GermanyDOI
|08:39 - 08:40|
|Past-Sensitive Pointer Analysis for Symbolic Execution|
David TrabishTel Aviv University, Israel, Timotej KapusImperial College London, UK, Noam RinetzkyTel Aviv University, Cristian CadarImperial College London, UKDOI Pre-print Media Attached
|08:41 - 09:00|
|Conversations on Analysis 4|