Feature extraction approaches from natural language requirements for reuse in software product lines: A systematic literature review

Hybrid NLP approaches were more common for extracting textual requirements.There is a mixture of automated and semi-automated approaches from IR and data mining.Support tools were not made available to the public.Not all studies use software metrics in conjunction with experiments and case studies.Reconfirm practitioners guidelines' absence from selected studies (Alves et al., 2010). Requirements for implemented system can be extracted and reused for a production of a new similar system. Extraction of common and variable features from requirements leverages the benefits of the software product lines engineering (SPLE). Although various approaches have been proposed in feature extractions from natural language (NL) requirements, no related literature review has been published to date for this topic. This paper provides a systematic literature review (SLR) of the state-of-the-art approaches in feature extractions from NL requirements for reuse in SPLE. We have included 13 studies in our synthesis of evidence and the results showed that hybrid natural language processing approaches were found to be in common for overall feature extraction process. A mixture of automated and semi-automated feature clustering approaches from data mining and information retrieval were also used to group common features, with only some approaches coming with support tools. However, most of the support tools proposed in the selected studies were not made available publicly and thus making it hard for practitioners' adoption. As for the evaluation, this SLR reveals that not all studies employed software metrics as ways to validate experiments and case studies. Finally, the quality assessment conducted confirms that practitioners' guidelines were absent in the selected studies.

[1]  Joaquín Nicolás,et al.  On the generation of requirements specifications from software engineering models: A systematic literature review , 2009, Inf. Softw. Technol..

[2]  Marc H. Meyer,et al.  The Power of Product Platforms , 1997 .

[3]  Simonetta Montemagni,et al.  A Contrastive Approach to Multi-word Extraction from Domain-specific Corpora , 2010, LREC.

[4]  Marcelo R. Campo,et al.  Functional grouping of natural language requirements for assistance in architectural software design , 2012, Knowl. Based Syst..

[5]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

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

[7]  Emilia Mendes,et al.  Empirical Studies of Pair Programming for CS/SE Teaching in Higher Education: A Systematic Literature Review , 2011, IEEE Transactions on Software Engineering.

[8]  Danny Weyns,et al.  Variability in Software Systems—A Systematic Literature Review , 2014, IEEE Transactions on Software Engineering.

[9]  Fabiane Barreto Vavassori Benitti,et al.  Evaluation of a Systematic Approach to Requirements Reuse , 2013, J. Univers. Comput. Sci..

[10]  Anna-Lan Huang,et al.  Similarity Measures for Text Document Clustering , 2008 .

[11]  Barbara Paech,et al.  Systematic requirements recycling through abstraction and traceability , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[12]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

[13]  Anthony Finkelstein,et al.  Re-use of formatted requirements specifications , 1988, Softw. Eng. J..

[14]  Gang Yin,et al.  Mining and recommending software features across multiple web repositories , 2013, Internetware.

[15]  Nan Niu,et al.  Extracting and Modeling Product Line Functional Requirements , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[16]  Dong Zhou,et al.  Translation techniques in cross-language information retrieval , 2012, CSUR.

[17]  Jane Cleland-Huang,et al.  Supporting Domain Analysis through Mining and Recommending Features from Online Product Listings , 2013, IEEE Transactions on Software Engineering.

[18]  Tony Gorschek,et al.  A systematic review of domain analysis solutions for product lines , 2009, J. Syst. Softw..

[19]  Christoph Pohl,et al.  An Exploratory Study of Information Retrieval Techniques in Domain Analysis , 2008, 2008 12th International Software Product Line Conference.

[20]  Patrick Heymans,et al.  Separation of concerns in feature diagram languages: A systematic survey , 2013, CSUR.

[21]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[22]  Lianping Chen,et al.  A systematic review of evaluation of variability management approaches in software product lines , 2011, Inf. Softw. Technol..

[23]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[24]  Ruzanna Chitchyan,et al.  A framework for constructing semantically composable feature models from natural language requirements , 2009, SPLC.

[25]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[26]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[27]  Yinglin Wang,et al.  Extracting Software Functional Requirements from Free Text Documents , 2009, 2009 International Conference on Information and Multimedia Technology.

[28]  Barbara Kitchenham Procedures for Performing Systematic , 2004 .

[29]  Eduard Hoenkamp Trading Spaces: On the Lore and Limitations of Latent Semantic Analysis , 2011, ICTIR.

[30]  Mathieu Acher,et al.  Feature model extraction from large collections of informal product descriptions , 2013, ESEC/FSE 2013.

[31]  Claes Wohlin,et al.  Systematic literature reviews in software engineering , 2013, Inf. Softw. Technol..

[32]  John A. McDermid,et al.  Ten steps towards systematic requirements reuse , 2008, Requirements Engineering.

[33]  Zarinah Mohd Kasirun,et al.  Exploring Software Practitioners Perceptions and Experience in Requirements Reuse An Empirical Study in Malaysia , 2014 .

[34]  Zhendong Niu,et al.  A Systems Approach to Product Line Requirements Reuse , 2014, IEEE Systems Journal.

[35]  Frank Houdek,et al.  Semi-automatic identification of features in requirement specifications , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[36]  Antonio Monzon A Practical Approach to Requirements Reuse in Product Families of On-Board Systems , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[37]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[38]  Hironori Washizaki,et al.  Supporting commonality and variability analysis of requirements and structural models , 2012, SPLC '12.

[39]  Haiyan Zhao,et al.  An approach to constructing feature models based on requirements clustering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[40]  Jane Cleland-Huang,et al.  On-demand feature recommendations derived from mining public product descriptions , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[41]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[42]  FiadeiroJosé Luiz,et al.  Reuse of requirements and specifications , 1995 .

[43]  Jürgen Börstler,et al.  Software product line modeling made practical , 2006, CACM.

[44]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

[45]  C. Krueger,et al.  Eliminating the adoption barrier , 2002, IEEE Software.

[46]  Thomas E. Potok,et al.  Document clustering using particle swarm optimization , 2005, Proceedings 2005 IEEE Swarm Intelligence Symposium, 2005. SIS 2005..

[47]  William N. Robinson,et al.  Finding reusable UML sequence diagrams automatically , 2004, IEEE Software.

[48]  José Aguilar,et al.  Software Component Selection Algorithm Using Intelligent Agents , 2007, KES-AMSTA.

[49]  Neil A. M. Maiden,et al.  Exploiting reusable specifications through analogy , 1992, CACM.

[50]  Paul D Jeanne Ellis Ormrod Leedy,et al.  Practical Research: Planning and Design , 1974 .

[51]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[52]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[53]  Ebrahim Bagheri,et al.  Dynamic decision models for staged software product line configuration , 2013, Requirements Engineering.

[54]  Andrian Marcus,et al.  Recovering documentation-to-source-code traceability links using latent semantic indexing , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[55]  M. Petticrew,et al.  Systematic Reviews in the Social Sciences: A Practical Guide , 2005 .

[56]  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.

[57]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[58]  George Valença,et al.  Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript , 2022 .

[59]  Renata Pontin de Mattos Fortes,et al.  A systematic review of domain analysis tools , 2010, Inf. Softw. Technol..

[60]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

[61]  José Luiz Fiadeiro,et al.  Reuse of requirements and specifications: a formal framework , 1995, SSR '95.

[62]  Philippe Massonet,et al.  Analogical reuse of requirements frameworks , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[63]  Walid Maalej,et al.  How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Reviews , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[64]  Dragan Gasevic,et al.  Decision support for the software product line domain engineering lifecycle , 2011, Automated Software Engineering.

[65]  Anthony Finkelsteiin,et al.  Re-use of formatted requirements specifications , 1988 .

[66]  Klaus Pohl,et al.  Software product line engineering and variability management: achievements and challenges , 2014, FOSE.

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

[68]  Gerardo Canfora,et al.  A comprehensive characterization of NLP techniques for identifying equivalent requirements , 2010, ESEM '10.

[69]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[70]  Stuart R. Faulk Product-line requirements specification (PRS): an approach and case study , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[71]  Carme Quer,et al.  PABRE: Pattern-based Requirements Elicitation , 2009, 2009 Third International Conference on Research Challenges in Information Science.

[72]  José Ambrosio Toval Álvarez,et al.  Transforming and tracing reused requirements models to home automation models , 2013, Inf. Softw. Technol..

[73]  Mathieu Acher,et al.  On extracting feature models from product descriptions , 2012, VaMoS.