Automatic Validation and Correction of Formalized, Textual Requirements

Nowadays requirements are mostly specified in unrestricted natural language so that each stakeholder understands them. To ensure high quality and to avoid misunderstandings, the requirements have to be validated. Because of the ambiguity of natural language and the resulting absence of an automatic mechanism, this has to be done manually. Such manual validation techniques are time-consuming, error-prone, and repetitive because hundreds or thousands of requirements must be checked. With an automatic validation the requirements engineering process can be faster and can produce requirements of higher quality. To realize an automatism, we propose a controlled natural language (CNL) for the documentation of requirements. On basis of the CNL, a concept for an automatic requirements validation is developed for the identification of inconsistencies and incomplete requirements. Additionally, automated correction operations for such defective requirements are presented. The approach improves the quality of the requirements and therefore the quality of the whole development process.

[1]  Kaarel Kaljurand,et al.  Attempto Controlled English for Knowledge Representation , 2008, Reasoning Web.

[2]  Linda H. Rosenberg,et al.  Automated Analysis of Requirement Specifications , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[3]  Erik Kamsties,et al.  Higher quality requirements specifications through natural language patterns , 2003, Proceedings 2003 Symposium on Security and Privacy.

[4]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .

[5]  Andy Schürr,et al.  Checking and Enforcement of Modeling Guidelines with Graph Transformations , 2008, AGTIVE.

[6]  Augusto Sampaio,et al.  Formal Specification Generation from Requirement Documents , 2006, SBMF.

[7]  Marco Roveri,et al.  From Informal Requirements to Property-Driven Formal Validation , 2009, FMICS.

[8]  Helmut Becker,et al.  High Noon in the Automotive Industry , 2006 .

[9]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[10]  Ingo Stürmer,et al.  Tool Supported Quality Assessment and Improvement in MATLAB Simulink and Stateflow Models , 2008 .

[11]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

[12]  Rolf Schwitter,et al.  English as a formal specification language , 2002, Proceedings. 13th International Workshop on Database and Expert Systems Applications.

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

[14]  Matthias Meyer,et al.  Reverse engineering with the reclipse tool suite , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.