Change impact analysis for Natural Language requirements: An NLP approach

Requirements are subject to frequent changes as a way to ensure that they reflect the current best understanding of a system, and to respond to factors such as new and evolving needs. Changing one requirement in a requirements specification may warrant further changes to the specification, so that the overall correctness and consistency of the specification can be maintained. A manual analysis of how a change to one requirement impacts other requirements is time-consuming and presents a challenge for large requirements specifications. We propose an approach based on Natural Language Processing (NLP) for analyzing the impact of change in Natural Language (NL) requirements. Our focus on NL requirements is motivated by the prevalent use of these requirements, particularly in industry. Our approach automatically detects and takes into account the phrasal structure of requirements statements. We argue about the importance of capturing the conditions under which change should propagate to enable more accurate change impact analysis. We propose a quantitative measure for calculating how likely a requirements statement is to be impacted by a change under given conditions. We conduct an evaluation of our approach by applying it to 14 change scenarios from two industrial case studies.

[1]  Patrick Mäder,et al.  Software traceability: trends and future directions , 2014, FOSE.

[2]  James S. Ketchel,et al.  Impact analysis , 1974, ACM '74.

[3]  Vasile Rus,et al.  SEMILAR: The Semantic Similarity Toolkit , 2013, ACL.

[4]  Neil A. M. Maiden,et al.  Inventing Requirements from Software: An Empirical Investigation with Web Services , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[5]  Jane Huffman Hayes,et al.  Toward Automating Requirements Satisfaction Assessment , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[6]  Mehrdad Sabetzadeh,et al.  Matching and Merging of Variant Feature Specifications , 2012, IEEE Transactions on Software Engineering.

[7]  Klaus Pohl,et al.  Process-Centered Requirements Engineering , 1996 .

[8]  Ronald L. Rivest,et al.  Introduction to Algorithms, 3rd Edition , 2009 .

[9]  Mehrdad Sabetzadeh,et al.  Automatic Checking of Conformance to Requirement Boilerplates via Text Chunking: An Industrial Case Study , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[10]  Liming Zhu,et al.  Investigating dependencies in software requirements for change propagation analysis , 2014, Inf. Softw. Technol..

[11]  Jane Cleland-Huang,et al.  Goal-centric traceability for managing non-functional requirements , 2005, ICSE.

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

[13]  Jane Cleland-Huang Traceability in Agile Projects , 2012, Software and Systems Traceability.

[14]  Kalervo Järvelin,et al.  The Effects of Conjunction, Facet Structure, and Dictionary Combinations in Concept-Based Cross-Language Retrieval , 2004, Information Retrieval.

[15]  Virginia Teller Review of Speech and language processing: an introduction to natural language processing, computational linguistics, and speech recognition by Daniel Jurafsky and James H. Martin. Prentice Hall 2000. , 2000 .

[16]  Tony Gorschek,et al.  Requirements Traceability: a Systematic Review and Industry Case Study , 2012, Int. J. Softw. Eng. Knowl. Eng..

[17]  Gerardo Canfora,et al.  Empirical Principles and an Industrial Case Study in Retrieving Equivalent Requirements via Natural Language Processing Techniques , 2013, IEEE Transactions on Software Engineering.

[18]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[19]  Ivan Kurtev,et al.  Change impact analysis for requirements: A metamodeling approach , 2014, Inf. Softw. Technol..

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

[21]  Ivan Kurtev,et al.  Experimental evaluation of a tool for change impact prediction in requirements models: Design, results, and lessons learned , 2014, 2014 IEEE 4th International Model-Driven Requirements Engineering Workshop (MoDRE).

[22]  Anne Persson,et al.  Requirements Interdependencies: State of the Art and Future Challenges , 2005 .

[23]  James H. Martin,et al.  Speech and language processing: an introduction to natural language processing , 2000 .

[24]  Bashar Nuseibeh,et al.  Analysing anaphoric ambiguity in natural language requirements , 2011, Requirements Engineering.

[25]  Mehrdad Sabetzadeh,et al.  Improving requirements glossary construction via clustering: approach and industrial case studies , 2014, ESEM '14.

[26]  Hinrich Schütze,et al.  Introduction to information retrieval , 2008 .

[27]  R. Burchfield Frequency Analysis of English Usage: Lexicon and Grammar. By W. Nelson Francis and Henry Kučera with the assistance of Andrew W. Mackie. Boston: Houghton Mifflin. 1982. x + 561 , 1985 .

[28]  Daniel Amyot,et al.  Introduction to the User Requirements Notation: learning by example , 2003, Comput. Networks.

[29]  Stephen Clark,et al.  Best Practices for Automated Traceability , 2007, Computer.

[30]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .