2009
DOI: 10.1007/978-3-642-03237-0_3
|View full text |Cite
|
Sign up to set email alerts
|

Abstraction Refinement for Quantified Array Assertions

Abstract: We present an abstraction refinement technique for the verification of universally quantified array assertions such as "all elements in the array are sorted". Our technique can be seamlessly combined with existing software model checking algorithms. We implemented our technique in the ACSAR software model checker and successfully verified quantified array assertions for both text book examples and real-life examples taken from the Linux operating system kernel.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
29
0

Year Published

2010
2010
2023
2023

Publication Types

Select...
6
1
1

Relationship

0
8

Authors

Journals

citations
Cited by 33 publications
(29 citation statements)
references
References 33 publications
0
29
0
Order By: Relevance
“…Effectiveness and performances of abstraction/refinement approaches strongly depend on their ability in generating the "right" predicates to stop divergence of verification procedures. In case of programs with arrays, this quest can rely on ghost variables [21] retrieved from the post-conditions, on the backward propagation of post-conditions along spurious counterexamples [33] or can be constraint-based [9,34]. Recently, constraint-based techniques have been significantly extended to the generation of loop invariants outside the array property fragment [29].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Effectiveness and performances of abstraction/refinement approaches strongly depend on their ability in generating the "right" predicates to stop divergence of verification procedures. In case of programs with arrays, this quest can rely on ghost variables [21] retrieved from the post-conditions, on the backward propagation of post-conditions along spurious counterexamples [33] or can be constraint-based [9,34]. Recently, constraint-based techniques have been significantly extended to the generation of loop invariants outside the array property fragment [29].…”
Section: Introductionmentioning
confidence: 99%
“…For example, predicate abstraction approaches (i.e., [3,4,33]) fail verifying the procedures in Figure1, which are commonly considered to be challenging for verifiers because they cause divergence 3 . Acceleration, on the other side, provides a precise and systematic way for addressing the verification of programs.…”
Section: Introductionmentioning
confidence: 99%
“…In [21,34] a predicate abstraction for inferring universally quantified properties of array elements is presented, and in [26] the authors present a similar technique which uses template-based quantified abstract domains. In [46] a backward reachability analysis based on predicate abstraction and abstraction refinement is used for verifying assertions which are universally quantified over array indexes.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…Furthermore, their method is based on the use of monotonic changes to the array (which is not the case for Loop 1) and it requires a pre-analysis of indexes (causing an extra slow-down). The techniques of Jhala and McMillan [20,30] and of Seghir, Podelski and Wies [35] make use of the loop postconditions to be proven in order to infer the quantified loop invariants. Suppose we remove (**) and (***) from the example.…”
Section: Under-approximations and Templatesmentioning
confidence: 99%