2009
DOI: 10.1145/1543135.1542501
|View full text |Cite
|
Sign up to set email alerts
|

Program verification using templates over predicate abstraction

Abstract: We address the problem of automatically generating invariants with quantified and boolean structure for proving the validity of given assertions or generating pre-conditions under which the assertions are valid. We present three novel algorithms, having different strengths, that combine template and predicate abstraction based formalisms to discover required sophisticated program invariants using SMT solvers.Two of these algorithms use an iterative approach to compute fixed-points (one computes a least fixed-p… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
4
0

Year Published

2011
2011
2022
2022

Publication Types

Select...
6

Relationship

0
6

Authors

Journals

citations
Cited by 22 publications
(4 citation statements)
references
References 31 publications
0
4
0
Order By: Relevance
“…Our inferred invariants are comprised of universally quantified predicates, but unlike these approaches, our computation of the predicates is property directed and does not employ predicate abstraction. Additional works for generation of quantified invariants include using abstract domains of quantified data automata [25,26] or ones tailored to Presburger arithmetic with arrays [20], instantiating quantifier templates [8,38], applying symbolic proof techniques [30], or using abstractions based on separation logic [4,21].…”
Section: Related Workmentioning
confidence: 99%
“…Our inferred invariants are comprised of universally quantified predicates, but unlike these approaches, our computation of the predicates is property directed and does not employ predicate abstraction. Additional works for generation of quantified invariants include using abstract domains of quantified data automata [25,26] or ones tailored to Presburger arithmetic with arrays [20], instantiating quantifier templates [8,38], applying symbolic proof techniques [30], or using abstractions based on separation logic [4,21].…”
Section: Related Workmentioning
confidence: 99%
“…5], but instead of concretely enumerating the (potentially exponential) set of paths inside the program (corresponding to all disjuncts in a disjunctive normal form of the transition relation), each path corresponding to one constraint, we lazily enumerate witnesses for such paths. Unfortunately, we do not have an implementation of the algorithm from [23] at our disposal for performance comparisons.…”
Section: Related Workmentioning
confidence: 99%
“…Other Template Forms We have described our algorithm for templates of the form C 1 ∨• • •∨C m where the C i are conjunctions constructed from the chosen predicates, but the algorithm is not specific to this template shape. Instead of disjunctive normal form, one could choose conjunctive normal form, for instance, or actually any form [23], though reductions of the search space such as those from Sec. 2.3.1 or 2.3.2 may be more difficult to define.…”
Section: Extensionsmentioning
confidence: 99%
See 1 more Smart Citation