Local proofs for global safety properties
This paper explores locality in proofs of global safety properties of concurrent programs. Model checking on the full state space is often infeasible due to state explosion. A local proof, in contrast, is a collection of per-process invariants, which together imply the desired global safety property...
Saved in:
Published in | Formal methods in system design Vol. 34; no. 2; pp. 104 - 125 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
Boston
Springer US
01.04.2009
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | This paper explores locality in proofs of global safety properties of concurrent programs. Model checking on the full state space is often infeasible due to state explosion. A local proof, in contrast, is a collection of per-process invariants, which together imply the desired global safety property. Local proofs can be more compact than global proofs, but local reasoning is also inherently incomplete. In this paper, we present an algorithm for safety verification that combines local reasoning with gradual refinement. The algorithm gradually exposes facts about the internal state of components, until either a local proof or a real error is discovered. The refinement mechanism ensures completeness. Experiments show that local reasoning can have significantly better performance over the traditional reachability computation. Moreover, for some parameterized protocols, a local proof can be used as the basis of a correctness proof over
all
instances. |
---|---|
Bibliography: | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 23 |
ISSN: | 0925-9856 1572-8102 |
DOI: | 10.1007/s10703-008-0063-8 |