Abstract | ||
---|---|---|
We propose a new approach to software model checking where we integrate abstract interpretation and trace abstraction. We use abstract interpretation to derive loop invariants for the path program corresponding to a given spurious counterexample. A path program is the smallest subprogram that still contains a given path in the control flow graph. We use the principle of trace abstraction to construct an overall proof. The key observation of our approach is that proofs by abstract interpretation on individual program fragments can be composed directly if we use the framework of trace abstraction (in trace abstraction, composing proofs amounts to a set-theoretic operation, i.e., set union). We implemented our approach in the open-source software model checking framework Ultimate. Our evaluation shows that we can solve up to 40% more benchmarks. |
Year | DOI | Venue |
---|---|---|
2017 | 10.1007/978-3-319-66706-5_7 | Lecture Notes in Computer Science |
Field | DocType | Volume |
Abstraction,Software model checking,Control flow graph,Computer science,Abstract interpretation,Theoretical computer science,Mathematical proof,Loop invariant,Counterexample,Spurious relationship | Conference | 10422 |
ISSN | Citations | PageRank |
0302-9743 | 2 | 0.39 |
References | Authors | |
12 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Marius Greitschus | 1 | 30 | 4.54 |
Daniel Dietsch | 2 | 80 | 13.53 |
Andreas Podelski | 3 | 2760 | 197.87 |