Compositional Recurrence Analysis Revisited
Compositional recurrence analysis (CRA) is a static-analysis method based on a combination of symbolic analysis and abstract interpretation. This paper addresses the problem of creating a context-sensitive interprocedural version of CRA that handles recursive procedures. The problem is non-trivial because there is an “impedance mismatch” between CRA, which relies on analysis techniques based on regular languages (i.e., Tarjan’s path-expression method), and the context-free-language underpinnings of context-sensitive analysis.
We show how to address this impedance mismatch by augmenting the CRA abstract domain with additional operations. We call the resulting algorithm Interprocedural CRA (ICRA). Our experiments with ICRA show that it has broad overall strength, compared with several state-of-the-art software model checkers.
Mon 19 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:10 - 17:50 | Static AnalysisPLDI Research Papers at Aula Master Chair(s): Loris D'Antoni University of Wisconsin–Madison | ||
16:10 25mTalk | Compositional Recurrence Analysis Revisited PLDI Research Papers Zachary Kincaid Princeton University, Jason Breck University of Wisconsin-Madison, Ashkan Forouhi Boroujeni University of Wisconsin-Madison, Thomas Reps University of Wisconsin - Madison and Grammatech Inc. Media Attached | ||
16:35 25mTalk | Context Transformations for Pointer Analysis PLDI Research Papers Media Attached | ||
17:00 25mTalk | Efficient and Precise Points-to Analysis: Modeling the Heap by Merging Equivalent Automata PLDI Research Papers Pre-print Media Attached | ||
17:25 25mTalk | Static Deadlock Detection for Asynchronous C# Programs PLDI Research Papers Media Attached |