Software model checking: extracting verification models from source code

被引:48
作者
Holzmann, GJ [1 ]
Smith, MH [1 ]
机构
[1] Bell Labs, Lucent Technol, Murray Hill, NJ 07974 USA
关键词
software verification; model checking; model extraction; software testing; systems design; logic verification; automate; Spin;
D O I
10.1002/stvr.228
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To formally verify a large software application, the standard method is to invest a considerable amount of time and expertise into the manual construction of an abstract model, which is then analysed for its properties by either a mechanized or a human prover. There are two problems with this approach. The first problem is that this verification method can be no more reliable than the humans that perform the manual steps. If the average rate of error for human work is a function of the problem size, this holds not only for the construction of the original application, but also for the construction of the model. The standard verification trajectory therefore tends to become less reliable for larger applications. The second problem is one of timing and relevance. Software applications built by teams of programmers can change rapidly, often daily. Manually constructing an accurate abstraction of any one version of the application, though, can take weeks, which may jeopardize the validity of the results. In this paper a different verification method that avoids these problems is discussed. This method, which may be the precursor of a new class of testing techniques, was originally developed to allow for a thorough testing of parts of the software of a new commercial telephone switch. Here it is argued, though, that the method also has broad applicability to distributed software systems design in general.
引用
收藏
页码:65 / 79
页数:15
相关论文
共 15 条
[1]  
Ball T, 2000, LECT NOTES COMPUT SC, V1885, P113
[2]   Optimization analysis for the development of short-team solid waste management strategies using presorting process prior to incinerators [J].
Chang, YH ;
Chang, NB .
RESOURCES CONSERVATION AND RECYCLING, 1998, 24 (01) :7-32
[3]  
CORBETT J, P ICSE 2000, P439
[4]  
Dwyer M. B., 1998, Proceedings of FMSP'98. Second Workshop on Formal Methods in Software Practice, P7, DOI 10.1145/298595.298598
[5]  
DWYER MB, 2000, TOOL SUPPORTED PROGR
[6]  
Fossaceca LM, 1998, BELL LABS TECH J, V3, P86
[7]   Systematic software testing using VeriSoft -: An analysis of the 4ESS™ Heart-Beat Monitor [J].
Godefroid, P ;
Hanmer, RS ;
Jagadeesan, LJ .
BELL LABS TECHNICAL JOURNAL, 1998, 3 (02) :32-46
[8]  
Havelund Klaus, 2000, Intl. Jour. on Soft. Tools for Technology Transfer, V2, P366, DOI DOI 10.1007/S100090050043
[9]  
Holzmann G. J., 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002), P597, DOI 10.1109/ICSE.1999.841053
[10]  
Holzmann G. J., 1998, Proceedings of FMSP'98. Second Workshop on Formal Methods in Software Practice, P103, DOI 10.1145/298595.298864