Modelling timed reactive systems from natural-language requirements

At the very beginning of system development, typically only natural-language requirements are documented. As an informal source of information, however, natural-language specifications may be ambiguous and incomplete; this can be hard to detect by means of manual inspection. In this work, we present a formal model, named data-flow reactive system (DFRS), which can be automatically obtained from natural-language requirements that describe functional, reactive and temporal properties. A DFRS can also be used to assess whether the requirements are consistent and complete. We define two variations of DFRS: a symbolic and an expanded version. A symbolic DFRS (s-DFRS) is a concise representation that inherently avoids an explicit representation of (possibly infinite) sets of states and, thus, the state space-explosion problem. We use s-DFRS as part of a technique for test-case generation from natural-language requirements. In our approach, an expanded DFRS (e-DFRS) is built dynamically from a symbolic one, possibly limited to some bound; in this way, bounded analysis (e.g., reachability, determinism, completeness) can be performed. We adopt the s-DFRS as an intermediary representation from which models, for instance, SCR and CSP, are obtained for the purpose of test generation. An e-DFRS can also be viewed as the semantics of the s-DFRS from which it is generated. In order to connect such a semantic representation to established ones in the literature, we show that an e-DFRS can be encoded as a TIOTS: an alternative timed model based on the widely used IOLTS and ioco. To validate our overall approach, we consider two toy examples and two examples from the aerospace and automotive industry. Test cases are independently created and we verify that they are all compatible with the corresponding e-DFRS models generated from symbolic ones. This verification is performed mechanically with the aid of the NAT2TEST tool, which supports the manipulation of such models.

[1]  Augusto Sampaio,et al.  A CSP Timed Input-Output Relation and a Strategy for Mechanised Conformance Verification , 2013, ICFEM.

[2]  Augusto Sampaio,et al.  Test case generation from natural language requirements based on SCR specifications , 2013, SAC '13.

[3]  Jan Tretmans,et al.  Testing Concurrent Systems: A Formal Approach , 1999, CONCUR.

[4]  Mark Blackburn,et al.  Automatic generation of test vectors for SCR-style specifications , 1997, Proceedings of COMPASS '97: 12th Annual Conference on Computer Assurance.

[5]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[6]  Reinhard German,et al.  Model Based Requirements Analysis and Testing of Automotive Systems with Timed Usage Models , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[7]  Frank Tip,et al.  Test Case Generation , .

[8]  Supratik Mukhopadhyay,et al.  RETNA: from requirements to testing in a natural way , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[9]  Matthias Schnelte Generating Test Cases for Timed Systems from Controlled Natural Language Specifications , 2009, 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement.

[10]  Mats Per Erik Heimdahl,et al.  Proving the shalls , 2003, International Journal on Software Tools for Technology Transfer.

[11]  Bernhard K. Aichernig,et al.  Killing strategies for model‐based mutation testing , 2015, Softw. Test. Verification Reliab..

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

[13]  K. Larsen,et al.  Online Testing of Real-time Systems Using Uppaal , 2004, FATES.

[14]  Dubravka Ilic Deriving Formal Specifications from Informal Requirements , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[15]  Constance L. Heitmeyer,et al.  Program Synthesis from Formal Requirements Specifications Using APTS , 2003, High. Order Symb. Comput..

[16]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[17]  Augusto Sampaio,et al.  NAT2TESTSCR: Test case generation from natural language requirements based on SCR specifications , 2014, Sci. Comput. Program..

[18]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

[19]  Gustavo Carvalho,et al.  Model-Based Testing from Controlled Natural Language Requirements , 2013, FTSCS.

[20]  Peter Struss,et al.  Obtaining Models for Test Generation from Natural-language-like Functional Specifications , 2007 .

[21]  Jan Peleska,et al.  A Real-World Benchmark Model for Testing Concurrent Real-Time Systems in the Automotive Domain , 2011, ICTSS.

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

[23]  Darren D. Cofer,et al.  Requirements Analysis of a Quad-Redundant Flight Control System , 2015, NFM.

[24]  Hyunsook Do,et al.  A systematic approach to transforming system requirements into model checking specifications , 2014, ICSE Companion.

[25]  Augusto Sampaio,et al.  Test generation from state based use case models , 2012, Formal Aspects of Computing.

[26]  Augusto Sampaio,et al.  NAT2TEST SCR , 2014 .

[27]  Augusto Sampaio,et al.  NAT2TEST: Generating Test Cases from Natural Language Requirements based on CSP , 2016 .

[28]  Nandamudi Lankalapalli Vijaykumar,et al.  Generating model-based test cases from natural language requirements for space application software , 2011, Software Quality Journal.

[29]  James F. Allen Natural language understanding , 1987, Bejnamin/Cummings series in computer science.

[30]  Giuseppe Lipari,et al.  Pragmatic ambiguity detection in natural language requirements , 2014, 2014 IEEE 1st International Workshop on Artificial Intelligence for Requirements Engineering (AIRE).

[31]  Antonio Bucchiarone,et al.  An experience in using a tool for evaluating a large set of natural language requirements , 2010, SAC '10.

[32]  Augusto Sampaio,et al.  A Formal Model for Natural-Language Timed Requirements of Reactive Systems , 2014, ICFEM.

[33]  A. W. Roscoe Understanding Concurrent Systems , 2010, Texts in Computer Science.

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

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

[36]  Augusto Sampaio,et al.  NAT2TEST Tool: From Natural Language Requirements to Test Cases Based on CSP , 2015, SEFM.

[37]  Charles J. Fillmore,et al.  THE CASE FOR CASE. , 1967 .

[38]  Yue Zhang,et al.  Automatic early defects detection in use case documents , 2014, ASE.

[39]  James F. Allen Natural language understanding (2nd ed.) , 1995 .

[40]  Woo Jin Lee,et al.  Integration and Analysis of Use Cases Using Modular Petri Nets in Requirements Engineering , 1998, IEEE Trans. Software Eng..