Conference article  Open Access

Requirement engineering of software product lines: Extracting variability using NLP

Fantechi A., Ferrari A., Gnesi S., Semini L.

Natural Language Processing  Natural language processing  Software product lines  Requirement Engineering  Natural language requirements  Software Product Lines 

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.

Source: 26th IEEE International Requirements Engineering Conference, RE 2018, pp. 418–423, Banff, Canada, 20-24 August, 2018

Publisher: IEEE, New York, USA

[1] L. Chen, M. Ali Babar, and N. Ali, “Variability management in software product lines: a systematic review,” in SPLC'13. Carnegie Mellon University, 2009, pp. 81-90.
[2] S. B. Nasr, G. Be´can, M. Acher, J. B. Ferreira Filho, N. Sannier, B. Baudry, and J.-M. Davril, “Automated extraction of product comparison matrices from informal product descriptions,” JSS, vol. 124, pp. 82-103, 2017.
[3] A. Ferrari, G. O. Spagnolo, and F. Dell'Orletta, “Mining commonalities and variabilities from natural language documents,” in SPLC'13. ACM, 2013, pp. 116-120.
[4] Y. Li, S. Schulze, and G. Saake, “Reverse engineering variability from natural language documents: A systematic literature review,” in SPLC'17. ACM, 2017, pp. 133-142.
[5] N. Itzik, I. Reinhartz-Berger, and Y. Wand, “Variability analysis of requirements: Considering behavioral differences and reflecting stakeholders perspectives,” IEEE Transactions on Software Engineering, vol. 42, no. 7, pp. 687-706, 2016.
[6] N. H. Bakar, Z. M. Kasirun, and N. Salleh, “Feature extraction approaches from natural language requirements for reuse in software product lines: A systematic literature review,” JSS, vol. 106, pp. 132- 149, 2015.
[7] A. Fantechi, S. Gnesi, and L. Semini, “Ambiguity defects as variation points in requirements,” in VAMOS '17. New York, NY, USA: ACM, 2017, pp. 13-19.
[8] A. Fantechi, A. Ferrari, S. Gnesi, and L. Semini, “Hacking an ambiguity detection tool to extract variation points: an experience report,” in VAMOS'18. ACM, 2018, pp. 43-50.
[9] F. Fabbrini, M. Fusani, S. Gnesi, and G. Lami, “An automatic quality evaluation for natural language requirements,” in REFSQ'01, vol. 1, 2001, pp. 4-5.
[10] S. Gnesi, G. Lami, and G. Trentanni, “An automatic tool for the analysis of natural language requirements,” Comput. Syst. Sci. Eng., vol. 20, no. 1, 2005.
[11] H. Yang, A. De Roeck, V. Gervasi, A. Willis, and B. Nuseibeh, “Speculative requirements: Automatic detection of uncertainty in natural language requirements,” in RE'12. IEEE, 2012, pp. 11-20.
[12] A. Ferrari, P. Spoletini, and S. Gnesi, “Ambiguity as a resource to disclose tacit knowledge,” in RE'15. IEEE, 2015, pp. 26-35.
[13] D. M. Berry, A. Bucchiarone, S. Gnesi, G. Lami, and G. Trentanni, “A new quality model for natural language requirements specifications,” in REFSQ'06, 2006, pp. 115-128.
[14] A. Ferrari, G. O. Spagnolo, and S. Gnesi, “PURE: A dataset of public requirements documents,” in RE'17. IEEE, 2017, pp. 502-505.
[15] J. L. Fleiss, B. Levin, and M. C. Paik, The measurement of interrater agreement. Wiley Online Library, 2004.
[16] J. R. Landis and G. G. Koch, “The measurement of observer agreement for categorical data,” biometrics, pp. 159-174, 1977.
[17] B. Rosadini, A. Ferrari, G. Gori, A. Fantechi, S. Gnesi, I. Trotta, and S. Bacherini, “Using NLP to detect requirements defects: An industrial experience in the railway domain,” in REFSQ'17. Springer, 2017, pp. 344-360.
[18] H. Femmer, D. M. Ferna´ndez, S. Wagner, and S. Eder, “Rapid quality assurance with requirements smells,” JSS, vol. 123, pp. 190-213, 2017.
[19] S. F. Tjong and D. M. Berry, “The design of SREE - a prototype potential ambiguity finder for requirements specifications and lessons learned,” in REFSQ'13. Springer, 2013, pp. 80-95.


Back to previous page
BibTeX entry
	title = {Requirement engineering of software product lines: Extracting variability using NLP},
	author = {Fantechi A. and Ferrari A. and Gnesi S. and Semini L.},
	publisher = {IEEE, New York, USA},
	doi = {10.1109/re.2018.00053},
	booktitle = {26th IEEE International Requirements Engineering Conference, RE 2018, pp. 418–423, Banff, Canada, 20-24 August, 2018},
	year = {2018}