Model checking of safety properties

被引:398
作者
Kupferman, O
Vardi, MY
机构
[1] Hebrew Univ Jerusalem, Sch Engn & Comp Sci, IL-91904 Jerusalem, Israel
[2] Rice Univ, Dept Comp Sci, Houston, TX 77251 USA
基金
美国国家科学基金会;
关键词
model checking; safety properties; automata;
D O I
10.1023/A:1011254632723
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Of special interest in formal verification are safety properties, which assert that the system always stays within some allowed region. Proof rules for the verification of safety properties have been developed in the proof-based approach to verification, making verification of safety properties simpler than verification of general properties. In this paper we consider model checking of safety properties. A computation that violates a general linear property reaches a bad cycle, which witnesses the violation of the property. Accordingly, current methods and tools for model checking of linear properties are based on a search for bad cycles. A symbolic implementation of such a search involves the calculation of a nested fixed-point expression over the system's state space, and is often infeasible. Every computation that violates a safety property has a finite prefix along which the property is violated. We use this fact in order to base model checking of safety properties on a search for finite bad prefixes. Such a search can be performed using a simple forward or backward symbolic reachability check. A naive methodology that is based on such a search involves a construction of an automaton (or a tableau) that is doubly exponential in the property. We present an analysis of safety properties that enables us to prevent the doubly-exponential blow up and to use the same automaton used for model checking of general properties, replacing the search for bad cycles by a search for bad prefixes.
引用
收藏
页码:291 / 314
页数:24
相关论文
共 49 条
[1]  
ABARBANEL Y, 2000, LECT NOTES COMPUTER, V1855, P538, DOI DOI 10.1007/10722167_40
[2]   DEFINING LIVENESS [J].
ALPERN, B ;
SCHNEIDER, FB .
INFORMATION PROCESSING LETTERS, 1985, 21 (04) :181-185
[3]   RECOGNIZING SAFETY AND LIVENESS [J].
ALPERN, B ;
SCHNEIDER, FB .
DISTRIBUTED COMPUTING, 1987, 2 (03) :117-126
[4]  
Biere A., 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361), P317, DOI 10.1109/DAC.1999.781333
[5]  
BOUJJANI A, 1991, LNCS, P76
[6]  
BOYER RS, 1983, 35 U TEX AUST I COMP
[7]   SYMBOLIC MODEL CHECKING - 1020 STATES AND BEYOND [J].
BURCH, JR ;
CLARKE, EM ;
MCMILLAN, KL ;
DILL, DL ;
HWANG, LJ .
INFORMATION AND COMPUTATION, 1992, 98 (02) :142-170
[8]   Checking formal specifications under simulation [J].
Canfield, W ;
Emerson, EA ;
Saha, A .
INTERNATIONAL CONFERENCE ON COMPUTER DESIGN - VLSI IN COMPUTERS AND PROCESSORS, PROCEEDINGS, 1997, :455-460
[9]   ALTERNATION [J].
CHANDRA, AK ;
KOZEN, DC ;
STOCKMEYER, LJ .
JOURNAL OF THE ACM, 1981, 28 (01) :114-133
[10]  
Clarke E.M., 1981, LECT NOTES COMPUTER, P52, DOI [DOI 10.1007/BFB0025774, 10.1137/0201010]