From Natural Language Requirements to Rigorous Property Specifications

− Property specifications concisely descr ibe selected aspects of what a software system is supposed to do. I t is surpr isingly difficult to wr ite these proper ties correctly. Although there are r igorous mathematical formalisms for representing proper ties, these are often difficult to use. No matter what notation is used, however, there are often subtle, but important, details that need to be considered. The PROPEL tool aims to make the job of wr iting and understanding proper ties easier by providing templates that explicitly capture these details as options for commonly-occurr ing proper ty patterns. These templates are represented using “ disciplined” natural language, decision trees, and finite-state automata, allowing the developer to easily move between these representations.

[1]  Norbert E. Fuchs,et al.  Attempto Controlled English - Not Just Another Logic Specification Language , 1998, LOPSTR.

[2]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[3]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[4]  F. Ashcroft,et al.  VIII. References , 1955 .

[5]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[6]  James C. Corbett,et al.  A Language Framework for Expressing Checkable Properties of Dynamic Software , 2000, SPIN.

[7]  James Bret Michael,et al.  Natural-language processing support for developing policy-governed software systems , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

[8]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[9]  Lori A. Clarke,et al.  Data flow analysis for verifying properties of concurrent programs , 1994, SIGSOFT '94.

[10]  Norbert E. Fuchs,et al.  Attempto Controlled English (ACE) , 1996, ArXiv.

[11]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[12]  Philippe Massonet,et al.  Analogical reuse of requirements frameworks , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[13]  Marsha Chechik,et al.  Events in linear-time properties , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[14]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[15]  George S. Avrunin,et al.  Using integer programming to verify general safety and liveness properties , 1995, Formal Methods Syst. Des..

[16]  James C. Corbett,et al.  Bandera: extracting finite-state models from Java source code , 2000, ICSE.

[17]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[18]  Vincenzo Gervasi,et al.  Processing natural language requirements , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[19]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[20]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[21]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[22]  Barrett R. Bryant,et al.  Object-oriented natural language requirements specification , 2000, Proceedings 23rd Australasian Computer Science Conference. ACSC 2000 (Cat. No.PR00518).