A Review on Software Requirements Validation and Consistency Management

Requirements need to be validated at the early phase of the software development to avoid errors such as inconsistency, incompleteness and incorrectness. Drawn from this argument, a requirements validation process needs to consider Consistency, Completeness and Correctness (“3 Cs”) for the production of a quality software specifications. This paper provides a review of requirements validation and consistency management based on the existing literature in order to identify the gaps in the existing knowledge on the process of software requirements specifications. This paper begins with a review of the definitions of the 3Cs,upon which the understanding of the 3Cs is derived. Next comprehensive review of related works on the identified consistency management techniques: traceability and analysis approaches are then presented. This is supported with a heat map representations of the related research on the types of contributions, techniques, specifications and semantics used in consistency management. Since semiformal specifications were found as the most common representation of the requirements, the types of models used as semi-formal specifications to represent the requirements were also discussed. Overall, this paper identifies the various gaps existing within the process of validating and managing the consistency of requirements to avoid re-inventing the wheels in the diverse and comprehensive knowledge of requirements engineering.

[1]  Ruzanna Chitchyan,et al.  Semantics-based composition for aspect-oriented requirements engineering , 2007, AOSD.

[2]  Andrea Zisman,et al.  Traceability and completeness checking for agent-oriented systems , 2008, SAC '08.

[3]  Kuldeep Kumar,et al.  Informal and Formal Requirements Specification Languages: Bridging the Gap , 1991, IEEE Trans. Software Eng..

[4]  Amiram Yehudai,et al.  Behavioral consistency validation of UML diagrams , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[5]  Shaoying Liu Verifying Consistency and Validity of Formal Specifications by Testing , 1999, World Congress on Formal Methods.

[6]  Andrea Zisman,et al.  Inconsistency Management in Software Engineering: Survey and Open Research Issues , 2000 .

[7]  Jim Duggan,et al.  A Tool to Support Collaborative Software Requirements Management , 2001, Requirements Engineering.

[8]  Aditya P. Mathur Foundations of software testing : fundamental algorithms and techniques : an undergraduate and graduate text, a reference for the practicing software engineer , 2008 .

[9]  Weiru Liu,et al.  A Merging-Based Approach to Handling Inconsistency in Locally Prioritized Software Requirements , 2007, KSEM.

[10]  Kurt Schneider Generating Fast Feedback in Requirements Elicitation , 2007, REFSQ.

[11]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..

[12]  Tom Mens,et al.  Detecting model inconsistency through operation-based model construction , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[13]  Ewan D. Tempero,et al.  Essential Use Cases and Responsibility in Object-Oriented Development , 2002, ACSC.

[14]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[15]  Hrushikesha Mohanty,et al.  Domain consistency in requirements specification , 2005, Fifth International Conference on Quality Software (QSIC'05).

[16]  Thiago C. de Sousa,et al.  Automatic analysis of requirements consistency with the B method , 2010, SOEN.

[17]  N. Kokash An introduction to heuristic algorithms , 2005 .

[18]  Gabriele Taentzer,et al.  Sufficient Criteria for Consistent Behavior Modeling with Refined Activity Diagrams , 2008, MoDELS.

[19]  Markku Oivo,et al.  Software Requirements Implementation and Management , 2005 .

[20]  Ilkhyu Ha,et al.  Cross Checking Rules to Improve Consistency between UML Static Diagram and Dynamic Diagram , 2008, IDEAL.

[21]  Harald C. Gall,et al.  Consistency of business process models and object life cycles , 2006, MoDELS'06.

[22]  Phillip A. Laplante,et al.  Requirements Engineering for Software and Systems , 2009 .

[23]  Genny Tortora,et al.  Recovering traceability links in software artifact management systems using information retrieval methods , 2007, TSEM.

[24]  Alexander Egyed,et al.  Scalable consistency checking between diagrams - the VIEWINTEGRA approach , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[25]  Alexander Egyed,et al.  Supporting Software Understanding with Automated Requirements Traceability , 2005, Int. J. Softw. Eng. Knowl. Eng..

[26]  Andrea Zisman,et al.  Are their design specifications consistent with our requirements? , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[27]  Bashar Nuseibeh,et al.  Leveraging Inconsistency in Software Development , 2000, Computer.

[28]  Srdjan Kovacevic,et al.  UML and User Interface Modeling , 1998, UML.

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

[30]  Xiaofan Chen Extraction and visualization of traceability relationships between documents and source code , 2010, ASE '10.

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

[32]  Uwe M. Borghoff,et al.  Pragmatic consistency management in industrial requirements specifications , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[33]  John C. Grundy,et al.  Improving requirements quality using essential use case interaction patterns , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[34]  Ian Sommerville,et al.  Software engineering / Ian Sommerville. , 2011 .

[35]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[36]  John Grundy,et al.  Supporting requirements modelling in the Malay language using essential use cases , 2012, 2012 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[37]  Katsuhiko Gondow,et al.  An incremental evaluation approach to check the consistency of XML documents , 2002, IEEE International Conference on Systems, Man and Cybernetics.

[38]  John C. Grundy,et al.  Aspect-oriented requirements engineering for component-based software systems , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[39]  Ken Satoh,et al.  On the complexities of consistency checking for restricted UML class diagrams , 2010, Theor. Comput. Sci..

[40]  Fouad Mohammed Abbou,et al.  On checking the consistency of Object-Z classes , 2007, SOEN.

[42]  Gabriele Taentzer,et al.  Interaction Analysis in Aspect-Oriented Models , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[43]  Ivan Kurtev,et al.  Semantics of trace relations in requirements models for consistency checking and inferencing , 2011, Software & Systems Modeling.

[44]  M.A. Qadir,et al.  Traceability Techniques: A Critical Study , 2006, 2006 IEEE International Multitopic Conference.

[45]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[46]  John C. Grundy,et al.  Tool support for essential use cases to better capture software requirements , 2010, ASE '10.

[47]  Burkhard Freitag,et al.  Towards the automated verification of semi-structured documents , 2009, Data Knowl. Eng..

[48]  Mehrdad Sabetzadeh,et al.  Consistency Checking of Conceptual Models via Model Merging , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[49]  Alexander Egyed,et al.  Incremental Consistency Checking of Dynamic Constraints , 2010, FASE.

[50]  Ivan Kurtev,et al.  A Metamodeling Approach for Reasoning about Requirements , 2008, ECMDA-FA.

[51]  Giuliano Antoniol,et al.  Recovering Traceability Links between Code and Documentation , 2002, IEEE Trans. Software Eng..

[52]  Andrea Zisman,et al.  XTraQue: traceability for product line systems , 2009, Software & Systems Modeling.

[53]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[54]  Do Do Kim Method and Implementation for Consistency Verification of DEVS Model against User Requirement , 2008, 2008 10th International Conference on Advanced Communication Technology.

[55]  Petr Kroha,et al.  Ontologies in Checking for Inconsistency of Requirements Specification , 2009, 2009 Third International Conference on Advances in Semantic Processing.

[56]  Amit M. Paradkar,et al.  Requirements Modeling and Validation Using Bi-layer Use Case Descriptions , 2008, MoDELS.

[57]  Carlos Mario Zapata Jaramillo,et al.  A Rule-Based System for Assessing Consistency Between UML Models , 2007, MICAI.

[58]  Jifeng He,et al.  Consistency checking of UML requirements , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[59]  Didar Zowghi,et al.  Reasoning about inconsistencies in natural language requirements , 2005, TSEM.

[60]  A. Terry Bahill,et al.  Requirements development, verification, and validation exhibited in famous failures , 2005, Syst. Eng..

[61]  Didar Zowghi,et al.  On the interplay between consistency, completeness, and correctness in requirements evolution , 2003, Inf. Softw. Technol..

[62]  Yijun Yu,et al.  From goals to aspects: discovering aspects from requirements goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[63]  Mohamed El-Attar,et al.  Producing robust use case diagrams via reverse engineering of use case descriptions , 2007, Software & Systems Modeling.

[64]  Wolfgang Emmerich,et al.  Flexible consistency checking , 2003, TSEM.

[65]  Neil A. M. Maiden,et al.  Bridging the requirements gap: policies, goals and domains , 1993, Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design.

[66]  E. A. Silver,et al.  An overview of heuristic solution methods , 2004, J. Oper. Res. Soc..

[67]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[68]  Thomas Olsson,et al.  Supporting traceability and inconsistency management between software artifacts , 2002, ICSE 2002.

[69]  Aditya K. Ghose,et al.  Web agents for requirements consistency management , 2003, Proceedings IEEE/WIC International Conference on Web Intelligence (WI 2003).

[70]  Didar Zowghi,et al.  Using default reasoning to discover inconsistencies in natural language requirements , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[71]  Yves Le Traon,et al.  Composing Models for Detecting Inconsistencies: A Requirements Engineering Perspective , 2009, REFSQ.

[72]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[73]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[74]  A. Terry Bahill,et al.  Requirements development, verification, and validation exhibited in famous failures , 2005 .