Detecting Requirements Defects Utilizing A Mathematical Framework for Behavior Engineering

Behavior Engineering (BE) provides a rigorous way to derive a formal specification of a software system from the requirements written in natural language. Its graphical specification language, Behavior Tree (BT), has been used with success in industry to systematically translate large, complex, and often erroneous requirements into an integrated model of the software system. BE's process, the Behavior Modeling Process (BMP), allows requirements to be translated into individual requirement BTs one at a time, which are then integrated to form a holistic view of the system. The integrated BT then goes through a series of modifications to construct a specification BT, which is used for validation and verification. The BMP also addresses different types of defects in the requirements throughout its process. However, BT itself is a graphical modeling notation, and the types of integration relations, how they correspond to particular issues, how they should be integrated and how to get formal specification have not been clearly defined. As a result, the BMP is informal, and provides guidelines to perform all these tasks on an ad-hoc basis. In this paper, we first introduce a mathematical framework which defines the graphical form of BTs which we use to define the integration relationships of BTs and to formalize the integration strategy of the BMP. We then formulate semi- automated requirements defects detection techniques by utilizing this underlying mathematical framework, which may be extended to formalize the BMP, develop change management framework for it, build techniques for round-trip engineering and so on.

[1]  Stefan Wagner,et al.  A Literature Survey of the Software Quality\\ Economics of Defect-Detection Techniques , 2006 .

[2]  Stefan Wagner,et al.  A literature survey of the quality economics of defect-detection techniques , 2006, ISESE '06.

[3]  Geoff Dromey,et al.  Early Requirements Defect Detection(INVITED PUBLICATION) , 2005 .

[4]  Lian Wen,et al.  From requirements change to design change: a formal path , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[5]  Colin Atkinson,et al.  An experimental comparison of reading techniques for defect detection in UML design documents , 2000, J. Syst. Softw..

[6]  Robert Colvin,et al.  "Integrare", a Collaborative Environment for Behavior-Oriented Design , 2007, CDVE.

[7]  Andrew M. Kuhn,et al.  Code Complete , 2005, Technometrics.

[8]  Peter A. Lindsay,et al.  An environment for building a system out of its requirements , 2004 .

[9]  Geoff Dromey Formalizing the Transition from Requirements to Design , 2006 .

[10]  Bente Anda,et al.  Towards an inspection technique for use case models , 2002, SEKE '02.

[11]  Hilding Elmqvist,et al.  Modelica — A unified object-oriented language for physical systems modeling , 1997 .

[12]  Kenji Takahashi,et al.  Inquiry-based requirements analysis , 1994, IEEE Software.

[13]  Robert Colvin,et al.  A semantics for Behavior Trees using CSP with specification commands , 2011, Sci. Comput. Program..

[14]  Saad Zafar,et al.  Integrating safety and security requirements into design of an embedded system , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[15]  Peter A. Lindsay,et al.  Cut Set Analysis using Behavior Trees and model checking , 2011, Formal Aspects of Computing.

[16]  Peter Fritzson,et al.  Comodeling: From Requirements to an Integrated Software/Hardware Model , 2011, Computer.

[17]  J. M. Singer,et al.  IEEE Recommended Practice for Software Requirements SpeciÞcations , 1993 .

[18]  Robert Colvin,et al.  Integrating Requirements: The Behavior Tree Philosophy , 2010, 2010 8th IEEE International Conference on Software Engineering and Formal Methods.

[19]  Michael E. Fagan Advances in software inspections , 1986, IEEE Transactions on Software Engineering.

[20]  Giuseppe Visaggio,et al.  Evaluating Defect Detection Techniques for Software Requirements Inspections , 2000 .

[21]  Daniel Powell Behavior Engineering - A Scalable Modeling and Analysis Method , 2010, 2010 8th IEEE International Conference on Software Engineering and Formal Methods.

[22]  Peter A. Lindsay,et al.  An environment for building a system out of its requirements , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[23]  Barry W. Boehm,et al.  Applying WinWin to quality requirements: a case study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[24]  Toby Myers The Foundation for a Scaleable Methodology for Systems Design , 2010 .

[25]  Kirsten Winter,et al.  Slicing Behavior Tree Models for Verification , 2010, IFIP TCS.

[26]  Peter A. Lindsay,et al.  Safety Assessment Using Behavior Trees and Model Checking , 2010, 2010 8th IEEE International Conference on Software Engineering and Formal Methods.

[27]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[28]  Marc-Florian Wendland,et al.  Requirements-Driven Testing with Behavior Trees , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[29]  Peter A. Lindsay,et al.  Experience with fault injection experiments for FMEA , 2011, Softw. Pract. Exp..

[30]  Jeffrey C. Carver,et al.  Evolving a Set of Techniques for OO Inspections , 1999 .