DocumentCode
1513215
Title
Automatic analysis of consistency between requirements and designs
Author
Chechik, Marsha ; Gannon, John
Author_Institution
Dept. of Comput. Sci., Toronto Univ., Ont., Canada
Volume
27
Issue
7
fYear
2001
fDate
7/1/2001 12:00:00 AM
Firstpage
651
Lastpage
672
Abstract
Writing requirements in a formal notation permits automatic assessment of such properties as ambiguity, consistency, and completeness. However, verifying that the properties expressed in requirements are preserved in other software life cycle artifacts remains difficult. The existing techniques either require substantial manual effort and skill or suffer from exponential explosion of the number of states in the generated state spaces. “Light-weight” formal methods is an approach to achieve scalability in fully automatic verification by checking an abstraction of the system for only certain properties. We describe light-weight techniques for automatic analysis of consistency between software requirements (expressed in SCR) and detailed designs in low-degree-polynomial time, achieved at the expense of using imprecise data-flow analysis techniques. A specification language SCR describes the systems as state machines with event-driven transitions. We define detailed designs to be consistent with their SCR requirements if they contain exactly the same transitions. We have developed a language for specifying detailed designs, an analysis technique to create a model of a design through data-flow analysis of the language constructs, and a method to automatically generate and check properties derived from requirements to ensure a design´s consistency with them. These ideas are implemented in a tool named CORD, which we used to uncover errors in designs of some existing systems
Keywords
data flow analysis; formal specification; formal verification; software tools; specification languages; CORD tool; SCR language; automatic verification; data-flow analysis; event-driven transitions; formal methods; formal notation; polynomial time; requirements analysis; requirements verification; scalability; software design; software life cycle artifacts; specification language; state machines; Computer Society; Costs; Data analysis; Explosions; Manuals; Page description languages; Scalability; Software quality; State-space methods; Thyristors;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/32.935856
Filename
935856
Link To Document