Compositional Recurrence Analysis Revisited

Loading...
Thumbnail Image

Authors

Kincaid, Zachary
Breck, Jason
Forouhi Boroujeni, Ashkan
Reps, Thomas

Advisors

License

DOI

Type

Technical Report

Journal Title

Journal ISSN

Volume Title

Publisher

Grantor

Abstract

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. The paper is an extended version, with proofs, of a paper with the same title at PLDI 2017.

Description

Related Material and Data

Citation

TR1840

Sponsorship

Endorsement

Review

Supplemented By

Referenced By