• 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