DocumentCode
1271712
Title
An automated verification method for distributed systems software based on model extraction
Author
Holzmann, Gerard J. ; Smith, Margaret H.
Author_Institution
Lucent Technol. Bell Labs., Murray Hill, NJ, USA
Volume
28
Issue
4
fYear
2002
fDate
4/1/2002 12:00:00 AM
Firstpage
364
Lastpage
377
Abstract
Software verification methods are used only sparingly in industrial software development today. The most successful methods are based on the use of model checking. There are, however, many hurdles to overcome before the use of model checking tools can truly become mainstream. To use a model checker, the user must first define a formal model of the application, and to do so requires specialized knowledge of both the application and of model checking techniques. For larger applications, the effort to manually construct a formal model can take a considerable investment of time and expertise, which can rarely be afforded. Worse, it is hard to secure that a manually constructed model can keep pace with the typical software application, as it evolves from the concept stage to the product stage. We describe a verification method that requires far less specialized knowledge in model construction. It allows us to extract models mechanically from source code. The model construction process now becomes easily repeatable, as the application itself continues to evolve. Once the model is constructed, existing model checking techniques allow us to perform all checks in a mechanical fashion, achieving nearly complete automation. The level of thoroughness that can be achieved with this new type of software testing is significantly greater than for conventional techniques. We report on the application of this method in the verification of the call processing software for a new telephone switch that was developed at Lucent Technologies
Keywords
distributed processing; program testing; program verification; telecommunication computing; Lucent Technologies; automated verification method; call processing software; case studies; distributed systems software; formal methods; formal model; industrial software development; model extraction; reactive systems; software testing; software verification methods; source code; telephone switch; System software;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2002.995426
Filename
995426
Link To Document