University of Minnesota
Software Engineering Center
/

You are here

Proving the shalls: Early validation of requirements through formal methods

Date of Publication: 
August 2006
Associated Research Groups: 
Publication Files: 
Abstract: 
Incomplete, inaccurate, ambiguous, and volatile requirements have plagued the software industry since its inception. The convergence of model-based development and formal methods offers developers of safety-critical systems a powerful new approach for the early validation of requirements. This paper describes a case study conducted to determine if formal methods could be used to validate system requirements early in the lifecycle at reasonable cost. Several hundred functional and safety requirements for the mode logic of a typical Flight Guidance System were captured as natural language "shall" statements. A formal model of the mode logic was written in the RSML-e language and translated into the NuSMV model checker and the PVS theorem prover using translators developed as part of the project. Each "shall" statement was manually translated into a NuSMV or PVS property and proven using these tools. Numerous errors were found in both the original requirements and the RSML-e model. This demonstrates that formal models can be written for realistic systems and that formal analysis tools have matured to the point where they can be effectively used to find errors before implementation.
Venue: 
Software Tools for Technology Transfer, volume 8, number 4.
bibtex: 
@article{Miller06:Shalls, author = {Steven P. Miller and Alan C. Tribble and Michael W. Whalen and Mats P. E. Heimdahl}, title = {Proving the shalls: Early validation of requirements through formal methods}, journal = {Int. J. Softw. Tools Technol. Transf.}, volume = {8}, number = {4}, year = {2006}, issn = {1433-2779}, pages = {303--319}, doi = {http://dx.doi.org/10.1007/s10009-004-0173-6}, publisher = {Springer-Verlag}, address = {Berlin, Heidelberg}, }