2001
DOI: 10.1145/381694.378846
|View full text |Cite
|
Sign up to set email alerts
|

Automatic predicate abstraction of C programs

Abstract: Model checking has been widely successful in validating and debugging designs in the hardware and protocol domains. However, state-space explosion limits the applicability of model checking tools, so model checkers typically operate on abstractions of systems. Recently, there has been significant interest in applying model checking to software. For infinite-state systems like software, abstraction is even more critical. Techniques for abstracting software are a prerequisite to making software model c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
304
0
1

Year Published

2003
2003
2012
2012

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 254 publications
(305 citation statements)
references
References 21 publications
0
304
0
1
Order By: Relevance
“…SLAM: This category contains a set of 665 predicate abstraction queries generated from Windows device driver verification in SLAM [BMMR01]. In SLAM, predicate abstraction is used to abstract a Boolean program from a C program.…”
Section: Benchmarks and Their Sourcementioning
confidence: 99%
See 2 more Smart Citations
“…SLAM: This category contains a set of 665 predicate abstraction queries generated from Windows device driver verification in SLAM [BMMR01]. In SLAM, predicate abstraction is used to abstract a Boolean program from a C program.…”
Section: Benchmarks and Their Sourcementioning
confidence: 99%
“…We are currently investigating exploiting incrementality when computing an abstraction over an monotonically growing set of predicates, which can be useful for creating Boolean programs [BMMR01] incrementally. Another area of future work is to extend a minterm c over P to a larger cube on-the-fly, before starting the search for a new minterm -this could impact the performance of queries (e.g.…”
Section: Conclusion and Further Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Several recent verification approaches [2,15], based on predicate abstraction [14], avoid imprecision (e.g., due to aliasing or infeasible paths) by iteratively refining the abstractions as necessary, but are fundamentally exponential algorithms. These techniques use symbolic and theorem-proving techniques (during verification) to identify a set P of "relevant" predicates, and then use the powerset lattice 2 P →{true,f alse} for abstraction, and then model check the resulting finite state system (and usually iterate with increasingly larger sets of predicates until a satisfactory result is obtained).…”
Section: Related Workmentioning
confidence: 99%
“…The last decade has witnessed impressive progress in the ability of tools to verify properties of hardware and software systems (e.g., [9,16,24]). The success has to a large extent concerned safety properties, e.g., absence of run-time errors, deadlocks, race conditions, etc.…”
Section: Introductionmentioning
confidence: 99%