Requirement Engineering of Software Product Lines: Extracting Variability Using NLP

The engineering of software product lines begins with the identification of the possible variation points. To this aim, natural language (NL) requirement documents can be used as a source from which variability-relevant information can be elicited. In this paper, we propose to identify variability issues as a subset of the ambiguity defects found in NL requirement documents. To validate the proposal, we single out ambiguities using an available NL analysis tool, QuARS, and we classify the ambiguities returned by the tool by distinguishing among false positives, real ambiguities, and variation points, by independent analysis and successive agreement phase. We consider three different sets of requirements and collect the data that come from the analysis performed.

[1]  Yang Li,et al.  Reverse Engineering Variability from Natural Language Documents: A Systematic Literature Review , 2017, SPLC.

[2]  Antonio Bucchiarone,et al.  A New Quality Model for Natural Language Requirements Specifications , 2006 .

[3]  Daniel M. Berry,et al.  The Design of SREE - A Prototype Potential Ambiguity Finder for Requirements Specifications and Lessons Learned , 2013, REFSQ.

[4]  Bashar Nuseibeh,et al.  Speculative requirements: Automatic detection of uncertainty in natural language requirements , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).

[5]  Stefania Gnesi,et al.  An Automatic Quality Evaluation for Natural Language Requirements , 2001 .

[6]  Stefania Gnesi,et al.  Ambiguity defects as variation points in requirements , 2017, VaMoS.

[7]  Lianping Chen,et al.  Variability management in software product lines: a systematic review , 2009, SPLC.

[8]  Stefan Wagner,et al.  Rapid quality assurance with Requirements Smells , 2016, J. Syst. Softw..

[9]  J. R. Landis,et al.  The measurement of observer agreement for categorical data. , 1977, Biometrics.

[10]  Zarinah Mohd Kasirun,et al.  Feature extraction approaches from natural language requirements for reuse in software product lines: A systematic literature review , 2015, J. Syst. Softw..

[11]  J. Fleiss,et al.  The measurement of interrater agreement , 2004 .

[12]  Stefania Gnesi,et al.  Ambiguity as a resource to disclose tacit knowledge , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[13]  Stefania Gnesi,et al.  Hacking an Ambiguity Detection Tool to Extract Variation Points: an Experience Report , 2018, VaMoS.

[14]  Stefania Gnesi,et al.  PURE: A Dataset of Public Requirements Documents , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[15]  Mathieu Acher,et al.  Automated extraction of product comparison matrices from informal product descriptions , 2017, J. Syst. Softw..

[16]  Yair Wand,et al.  Variability Analysis of Requirements: Considering Behavioral Differences and Reflecting Stakeholders’ Perspectives , 2016, IEEE Transactions on Software Engineering.

[17]  Stefania Gnesi,et al.  Using NLP to Detect Requirements Defects: An Industrial Experience in the Railway Domain , 2017, REFSQ.

[18]  Felice Dell'Orletta,et al.  Mining commonalities and variabilities from natural language documents , 2013, SPLC '13.

[19]  Stefania Gnesi,et al.  An automatic tool for the analysis of natural language requirements , 2005, Comput. Syst. Sci. Eng..