From Informal Requirements to Property-Driven Formal Validation

Flaws in requirements may have severe impacts on the subsequent phases of the development flow. However, an effective validation of requirements can be considered a largely open problem. In this paper, we propose a new methodology for requirements validation, based on the use of formal methods. The methodology consists of three main phases: first, an informal analysis is carried out, resulting in a structured version of the requirements, where each fragment is classified according to a fixed taxonomy. In the second phase, each fragment is then mapped onto a subset of UML, with a precise semantics, and enriched with static and temporal constraints. The third phase consists of the application of specialized formal analysis techniques, optimized to deal with properties (rather than with models).

[1]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[2]  Marco Roveri,et al.  Formal Analysis ofHardware Requirements , 2006 .

[3]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

[4]  Ilan Beer,et al.  Efficient Detection of Vacuity in Temporal Model Checking , 2001, Formal Methods Syst. Des..

[5]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[6]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[7]  Vincenzo Gervasi,et al.  On the Systematic Analysis of Natural Language Requirements with CIRCE , 2006, Automated Software Engineering.

[8]  Stefan Edelkamp,et al.  Model Checking and Artificial Intelligence, 4th Workshop, MoChArt IV, Riva del Garda, Italy, August 29, 2006, Revised Selected and Invited Papers , 2007, MoChArt.

[9]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[10]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[11]  Paul D. Carrington “Substance” and “Procedure” in the Rules Enabling Act , 1989 .

[12]  Marco Roveri,et al.  Formal analysis of hardware requirements , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[13]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[14]  Roberto Bruttomesso,et al.  The MathSAT 4SMT Solver , 2008, CAV.

[15]  Marco Roveri,et al.  Syntactic Optimizations for PSL Verification , 2007, TACAS.

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

[17]  Marco Roveri,et al.  Object Models with Temporal Constraints , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[18]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[19]  Marco Bozzano,et al.  The FSAP/NuSMV-SA Safety Analysis Platform , 2007, International Journal on Software Tools for Technology Transfer.

[20]  Viktor Schuppan,et al.  Diagnostic Information for Realizability , 2008, VMCAI.

[21]  Philippe Massonet,et al.  GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[22]  Stefania Gnesi,et al.  Assisting requirement formalization by means of natural language translation , 1994, Formal Methods Syst. Des..

[23]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[24]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[25]  Nissim Francez,et al.  Automatic Translation of Natural Language System Specifications , 1996, CAV.

[26]  David Clark,et al.  Safety and Security Analysis of Object-Oriented Models , 2002, SAFECOMP.

[27]  Fausto Giunchiglia,et al.  NUSMV: a new symbolic model checker , 2000, International Journal on Software Tools for Technology Transfer.

[28]  David A. Carrington,et al.  Object-Z: An Object-Oriented Extension to Z , 1989, FORTE.

[29]  Rolf Schwitter Dynamic semantics for a controlled natural language , 2004 .

[30]  Viktor Schuppan,et al.  Boolean Abstraction for Temporal Logic Satisfiability , 2007, CAV.

[31]  John Mylopoulos,et al.  The Tropos Metamodel and its Use , 2005, Informatica.

[32]  Alessandro Cimatti,et al.  Computing Predicate Abstractions by Integrating BDDs and SMT Solvers , 2007 .

[33]  Piergiorgio Bertoli,et al.  A Symbolic Model Checking Framework for Safety Analysis, Diagnosis, and Synthesis , 2007, MoChArt.

[34]  Marco Bozzano,et al.  Retrenchment, and the Generation of Fault Trees for Static, Dynamic and Cyclic Systems , 2006, SAFECOMP.