Title
Loop Invariants from Counterexamples.
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 Greitschus1304.54
Daniel Dietsch28013.53
Andreas Podelski32760197.87