Abstract
Natural language (NL) requirements documents are often ambiguous, and this is considered as a source of problems in the later interpretation of requirements. Ambiguity detection tools have been developed with the objective of improving the quality of requirement documents. However, defects as vagueness, optionality, weakness and multiplicity at requirements level can in some cases give an indication of possible variability, either in design and in implementation choices or configurability decisions. Variability information is actually the seed of the software engineering development practice aiming at building families of related systems, known as software product lines. Building on the results of previous analyses conducted on large and real word requirement documents, with QuARS NL analysis tool, we provide here a classification of the forms of ambiguity that indicate variation points, and we illustrate the practical aspects of the approach by means of a simple running example. To provide a more complete description of a line of software products, it is necessary to extrapolate, in addition to variability, also the common elements. To this end we propose here to take advantage of the capabilities of the REGICE tool to extract and cluster the glossary terms from the requirement documents. In summary, we introduce the combined application of two different NL processing tools to extract features and variability and use them to model a software product line.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In natural language, and/or is often used to remark that the two arguments can be present together, or only one of them, so it actually express a logical or. On the other hand, the usage of or is often implicitly intended to express a logical exclusive or (corresponding to alternative features in a feature diagram).
References
Ferrari, A., Dell’Orletta, F., Esuli, A., Gervasi, V., Gnesi, S.: Natural Language Requirements Processing: a 4D Vision. IEEE Softw. 34(6), 28–35 (2017)
Casamayor, A., Godoy, D., Campo, M.: Mining textual requirements to assist architectural software design: a state of the art review. Artif. Intell. Rev. 38(3), 173–191 (2012)
Ambriola, V., Gervasi, V.: On the systematic analysis of natural language requirements with CIRCE. Autom. Softw. Eng. 13(1), 107–167 (2006)
Gnesi, S., Lami, G., Trentanni, G.: An automatic tool for the analysis of natural language requirements. Comput. Syst. Sci. Eng. 20, 1 (2005)
Mich, L., Garigliano, R.: Ambiguity measures in requirements engineering. In: Proceedings of ICS 2000 16th IFIP WCC, Beijing, China, 21–25 August 2000, pp. 39–48 (2000)
Ferrari, A., Gori, G., Rosadini, B., Trotta, I., Bacherini, S., Fantechi, A., Gnesi, S.: Detecting requirements defects with NLP patterns: an industrial experience in the railway domain. Empir. Softw. Eng. 23(6), 3684–3733 (2018)
Wilson, W.M., Rosenberg, L.H., Hyatt, L.E.: Automated analysis of requirement specifications. In: Proceedings of the Nineteenth International Conference on Software Engineering (ICSE 1997), pp. 161–171 (1997)
Clements, P.C., Northrop, L.: Software Product Lines-Practices and Patterns. Addison-Wesley (2002)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering-Foundations, Principles, and Techniques. Springer (2005)
Bakar, N.H., Kasirun, Z.M., Salleh, N.: Feature extraction approaches from natural language requirements for reuse in software product lines: a systematic literature review. J. Syst. Softw. 106, 132–149 (2015)
Fantechi, A., Ferrari, A., Gnesi, S., Semini, L.: Hacking an ambiguity detection tool to extract variation points: an experience report. In: Proceeding of the 12th International Workshop on Variability Modelling of Software-Intensive Systems, VAMOS 2018, Madrid, 2018, pp. 43–50. ACM (2018)
Itzik, N., Reinhartz-Berger, I., Wand, Y.: Variability analysis of requirements: considering behavioral differences and reflecting stakeholders perspectives. IEEE Trans. Softw. Eng. 42(7), 687–706 (2016)
Fantechi, A., Gnesi, S., Semini, L.: Ambiguity defects as variation points in requirements. In: Proceeding of the 11th International Workshop on Variability Modelling of Software-intensive Systems, VAMOS ’17, pp. 13–19. ACM (2017)
Arora, C., Sabetzadeh, M., Briand, L., Zimmber, F.: Automated extraction and clustering of requirements glossary terms. IEEE Trans. Software Eng. 43(10), 918–945, ACM (2017)
Ferrari, A., Spagnolo, G.O., Dell’Orletta, F.: Mining commonalities and variabilities from natural language documents. In: Proceeding 17th International Software Product Lines Conference, SPLC, pp. 116–120 (2013)
Ferrari, A., Spagnolo, G.O., Gnesi, S., Dell’Orletta, F.: CMT and FDE: tools to bridge the gap between natural language documents and feature diagrams. SPLC, pp. 402–410 (2015)
Li, Y., Schulze, S., Saake, G.: Reverse engineering variability from requirement documents based on probabilistic relevance and word embedding. SPLC, pp. 121–131 (2018)
Nasr, S.B, Bécan, G., Acher, M., Ferreira Filho, J.B., Sannier, N., Baudry, B., Davril, J.-M.: Automated extraction of product comparison matrices from informal product descriptions. J. Syst. Softw. 124, 82–103
Bécan, G., Behjati, R., Gotlieb, A., Acher, M.: Synthesis of attributed feature models from product descriptions. 19th International Software Product Lines Conference. SPLC, pp. 1–10 (2015)
Bécan, G., Sannier, N., Acher, M., Barais, O., Blouin, A., Baudry, B.: Automating the formalization of product comparison matrices. ACM/IEEE Int. Conf. Autom. Softw. Eng., ASE, pp. 433–444 (2014)
Sannier, N., Acher, M., Baudry, B.: From comparison matrix to Variability Model: the Wikipedia case study. In: 28th IEEE/ACM International Conference on Automated Software Engineering, ASE, pp. 580–585 (2013)
Jarzabek, S., Ong, W.C., Zhang, H.: Handling variant requirements in domain modeling. J. Syst. Softw. 68(3), 171–182 (2003)
Gervasi, V., Zowghi, D.: On the role of ambiguity in RE. In: Requirements Engineering: Foundation for Software Quality: 16th International Working Conference (REFSQ). LNCS, vol. 6182, pp. 248–254 (2010)
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study, Tech. rep. SEI-90-TR-21 Carnegie-Mellon University Software Engineering Institute (1990)
Apel, S., Batory, D., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines: Concepts and Implementation. Springer (2013)
Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)
Sun, J., Zhang, H., Wang, H.: Formal semantics and verification for feature modeling. In: Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS ’05), pp. 303–312 (2005)
Fantechi, A., Ferrari, A., Gnesi, S., Semini, L.: Requirement engineering of software product lines: extracting variability using NLP. In: 26th IEEE International Requirements Engineering Conference, RE 2018, Banff, AB, Canada, Aug. 2018, pp. 418–423. IEEE Computer Society
Ramshaw, L., Marcus, M.: Text chunking using transformation-based learning. In: Armstrong, S., Church, K., Isabelle, P., Manzi, S., Tzoukermann, E., Yarowsky, D. (eds.) Natural Language Processing using Very Large Corpora, pp. 157–176, Kluwer (1999)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Arganese, E., Fantechi, A., Gnesi, S., Semini, L. (2020). Nuts and Bolts of Extracting Variability Models from Natural Language Requirements Documents. In: Jarzabek, S., Poniszewska-Marańda, A., Madeyski, L. (eds) Integrating Research and Practice in Software Engineering. Studies in Computational Intelligence, vol 851. Springer, Cham. https://doi.org/10.1007/978-3-030-26574-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-26574-8_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-26573-1
Online ISBN: 978-3-030-26574-8
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)