2004
DOI: 10.1023/b:form.0000040026.56959.91
|View full text |Cite
|
Sign up to set email alerts
|

Efficient Verification of Sequential and Concurrent C Programs

Abstract: There has been considerable progress in the domain of software verification over the last few years. This advancement has been driven, to a large extent, by the emergence of powerful yet automated abstraction techniques like predicate abstraction. However, the state space explosion problem in model checking remains the chief obstacle to the practical verification of real-world distributed systems. Even in the case of purely sequential programs, a crucial requirement to make predicate abstraction effective is t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
32
0
1

Year Published

2005
2005
2013
2013

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 51 publications
(33 citation statements)
references
References 49 publications
0
32
0
1
Order By: Relevance
“…The purpose of CEGAR is to increase the scalability of model checking by creating and using abstract models that contain the minimum amount of details needed for the desired model checks, instead of using the-generally much larger-concrete models for these checks. It has been implemented in several tools [1,5], most relevantly in MAGIC for verifying systems composed from multiple parallel components [2,3]. It has also been applied to events and aspects [6].…”
Section: Cegarmentioning
confidence: 99%
“…The purpose of CEGAR is to increase the scalability of model checking by creating and using abstract models that contain the minimum amount of details needed for the desired model checks, instead of using the-generally much larger-concrete models for these checks. It has been implemented in several tools [1,5], most relevantly in MAGIC for verifying systems composed from multiple parallel components [2,3]. It has also been applied to events and aspects [6].…”
Section: Cegarmentioning
confidence: 99%
“…To deal with more practical verifications, other efforts have been made to approach industrial size projects. In [3], Chaki et al present a scheme to verify concurrent programs written in C. In this work the authors combine two abstracting techniques to incrementally increase the granularity of the specification until they prove or refute the specification. In contrast, in our scheme we focus on the architectural module and the non-functional concurrency properties, avoiding the modeling of any functional computation.…”
Section: Related Workmentioning
confidence: 99%
“…Moreover, Copper integrates a number of complementary state space reduction techniques. An example is a two-level abstraction approach [3] where predicate abstraction for data is augmented by action-guided abstraction for events. Another key feature of the Copper approach is that if a property can be proved to hold or not based on a given finite set of predicates P , the predicate refinement procedure used in Copper automatically detects a minimal subset of P that is sufficient for the proof.…”
Section: Overview Of the Model Checking Enginementioning
confidence: 99%