2014
DOI: 10.1007/978-3-642-54833-8_23
|View full text |Cite
|
Sign up to set email alerts
|

Model and Proof Generation for Heap-Manipulating Programs

Abstract: Abstract. Existing heap analysis techniques lack the ability to supply counterexamples in case of property violations. This hinders diagnosis, prevents test-case generation and is a barrier to the use of these tools among non-experts. We present a verification technique for reasoning about aliasing and reachability in the heap which uses ACDCL (a combination of the well-known CDCL SAT algorithm and abstract interpretation) to perform interleaved proof generation and model construction. Abstraction provides us … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2015
2015
2018
2018

Publication Types

Select...
2
1

Relationship

3
0

Authors

Journals

citations
Cited by 3 publications
(4 citation statements)
references
References 23 publications
(39 reference statements)
0
4
0
Order By: Relevance
“…Lahiri and Qadeer introduce the Logic of Interpreted Sets and Bounded Quantification (LISBQ) capable to express properties on the shape and data of composite data structures [14]. In [15], Brain et al propose a decision procedure for reasoning about aliasing and reachability based on Abstract Conflict Driven Clause Learning (ACDCL) [16]. As they don't capture the lengths of lists, these logics are better suited for safety and less for termination proving.…”
Section: Methodsmentioning
confidence: 99%
“…Lahiri and Qadeer introduce the Logic of Interpreted Sets and Bounded Quantification (LISBQ) capable to express properties on the shape and data of composite data structures [14]. In [15], Brain et al propose a decision procedure for reasoning about aliasing and reachability based on Abstract Conflict Driven Clause Learning (ACDCL) [16]. As they don't capture the lengths of lists, these logics are better suited for safety and less for termination proving.…”
Section: Methodsmentioning
confidence: 99%
“…In order to use the base shape domain in our approach, we have to augment it with information about the guard variables that encode the program's control flow in the SSA. The guards express when an appropriate loop-back control edge is executed and the loop-back pointer has a defined value 7 . A row of a guarded shape template is defined as a formula…”
Section: B Guarded Shape Templatesmentioning
confidence: 99%
“…All the above methods are store-based, i.e., they describe the heap explicitly by a graph encoded in different ways. Other approaches are inspired by storeless semantics [24] using pointer access paths [12], [33], [28], [7] to describe reachability properties on the heap. This idea proved most suitable for our purposes.…”
Section: Related Workmentioning
confidence: 99%
“…To the best of our knowledge, there is no existing logic that meets all the criteria above. The majority of recently developed decidable heap logics are not expressive enough (fail points 1 and 2) [4,5,10,18,25,28], whereas very expressive logics such as FOL with transitive closure are not concise and easily translatable to stream code (fail point 3).…”
Section: B Java Stream Theorymentioning
confidence: 99%