Automated Features Extraction from Software Requirements Specification (SRS) Documents as The Basis of Software Product Line (SPL) Engineering


M Syauqi Haris, Tri Astoto Kurniawan, Fatwa Ramdani


Extractive Software Product Line Engineering (SPLE) puts features on the foremost aspect in domain analysis that needs to be extracted from the existing system's artifact. Feature in SPLE, which is closely related to system functionality, has been previously studied to be extracted from source code, models, and various text documents that exist along the software development process. Source code, with its concise and normative standard, has become the most focus target for feature extraction source on many kinds of research. However, in the software engineering principle, the Software Requirements Specification (SRS) document is the basis or main reference for system functionality conformance. Meanwhile, previous researches of feature extraction from text document are conducted on a list of functional requirement sentences that have been previously prepared, not literally SRS as a whole document. So, this research proposes direct processing on the SRS document that uses requirement boilerplates for requirement sentence statement. The proposed method uses Natural Language Processing (NLP) approach on the SRS document. Sequence Part-of-Speech (POS) tagging technique is used for automatic requirement sentence identification and extraction. The features are acquired afterward from extracted requirement sentences automatically using the word dependency parsing technique. Besides, mostly the previous researches about feature extraction were using non-public available SRS document that remains classified or not accessible, so this work uses selected SRS from publicly available SRS dataset to add reproducible research value. This research proves that requirement sentence extraction directly from the SRS document is viable with precision value from 64% to 100% and recall value from 64% to 89%. While features extraction from extracted requirement sentences has success rate from 65% to 88%.

Full Text:



I. Sommerville, Software Engineering, Ninth Edition. Addison-Wesley Publishing Company, USA. 2010.

S. Al Busaidi and N. Kraiem, “Using Software Product Line Application in Enterprise Resources Planning Systems Systematic Literature Review,” Comput. Eng. Inf. Technol., vol. 06, no. 03, 2017.

T. Berger et al., “A survey of variability modeling in industrial practice,” Proceedings Of The Seventh International Workshop On Variability Modelling Of Software-Intensive Systems. p. 1, 2013.

E. Hull, K. Jackson, and J. Dick, Requirements Engineering. Springer Science & Business Media, 2010.

S. Apel, D. Batory, C. Kästner, and G. Saake, Feature-Oriented Software Product Lines. Springer Science & Business Media. 2013.

K. Kim, H. Kim, and W. Kim, “Building Software Product Line from the Legacy Systems; Experience in the Digital Audio and Video Domain," 11th Int. Softw. Prod. Line Conf. (SPLC 2007), pp. 171–180, 2007.

M. V. Couto, M. T. Valente, and E. Figueiredo, “Extracting software product lines: A case study using conditional compilation,” Proc. Eur. Conf. Softw. Maint. Reengineering, CSMR, pp. 191–200, 2011.

M. T. Valente, V. Borges, and L. Passos, “A semi-automatic approach for extracting software product lines,” IEEE Trans. Softw. Eng., vol. 38, no. 4, pp. 737–754, 2012.

M. A. Laguna and Y. Crespo, “A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring,” Sci. Comput. Program., vol. 78, no. 8, pp. 1010–1034, 2013.

E. Stankov, M. Jovanov, and A. M. Bogdanova, “Source code similarity detection by using data mining methods,” 35th Int. Conf. Inf. Technol. Interfaces, ITI 2013, pp. 257–262, 2013.

C. Kastner, A. Dreiling, and K. Ostermann, “Variability mining: Consistent semi-automatic detection of product-line features,” IEEE Trans. Softw. Eng., vol. 40, no. 1, pp. 67–82, 2014.

W. Fenske, J. Meinicke, S. Schulze, S. Schulze, and G. Saake, “Variant-preserving refactorings for migrating cloned products to a product line,” SANER 2017 - 24th IEEE Int. Conf. Softw. Anal. Evol. Reengineering, pp. 316–326, 2017.

M. A. Ramos et al., “Reengineering Legacy Systems towards System of Systems Development,” 13th International Conference on Information Reuse & Integration, pp. 624–630, 2012.

W. K. G. Assunção, S. R. Vergilio, and R. E. Lopez-Herrejon, “Automatic extraction of product line architecture and feature models from UML class diagram variants,” Inf. Softw. Technol., vol. 117, no. September 2020.

A. Bragança and R. J. Machado, “Automating mappings between use case diagrams and feature models for software product lines,” Proc. - 11th Int. Softw. Prod. Line Conf. SPLC 2007, pp. 3–12, 2007.

R. S. Pressman, Software engineering : a practitioner’s approach, McGraw-Hill Education vol. 7. 2010.

R. F. Schmidt, Software Engineering: Architecture-driven Software Development, vol. 53, no. 9. Morgan Kaufmann, 2013.

A. Mili and F. Tchier, Software Testing Concepts and Operations. New Jersey: John Wiley & Sons, 2015.

K. Kumaki, “Supporting Commonality and Variability Analysis of Requirements and Structural Models,” Proceedings of the 16th International Software Product Line Conference - Volume 2, pp. 115–118, 2012.

V. Alves et al., “An exploratory study of information retrieval techniques in domain analysis,” Proc. - 12th Int. Softw. Prod. Line Conf. SPLC 2008, pp. 67–76, 2008.

N. Weston, R. Chitchyan, and A. Rashid, “A Framework for Constructing Semantically Composable Feature Models from Natural Language Requirements,” Proceedings of the 13th International Software Product Line Conference, pp. 211–220.

K. Chen, W. Zhang, H. Zhao, and H. Mei, “An approach to constructing feature models based on requirements clustering,” Proc. IEEE Int. Conf. Requir. Eng., pp. 31–40, 2005.

M. Mefteh, N. Bouassida, and H. Ben-Abdallah, “Mining feature models from functional requirements,” Comput. J., vol. 59, no. 12, pp. 1784–1804, 2016.

M. Hamza and R. J. Walker, “Recommending features and feature relationships from requirements documents for software product lines,” Proc. - 4th Int. Work. Realiz. Artif. Intell. Synerg. Softw. Eng. RAISE 2015, pp. 25–31, 2015.

J. M. Davril, E. Delfosse, N. Hariri, M. Acher, J. Cleland-Huang, and P. Heymans, “Feature model extraction from large collections of informal product descriptions,” 2013 9th Jt. Meet. Eur. Softw. Eng. Conf. ACM SIGSOFT Symp. Found. Softw. Eng. ESEC/FSE 2013 - Proc., pp. 290–300, 2013.

A. Ferrari, G. O. Spagnolo, and F. Dell’Orletta, “Mining commonalities and variabilities from natural language documents,” ACM Int. Conf. Proceeding Ser., pp. 116–120, 2013.

N. Niu, J. Savolainen, Z. Niu, M. Jin, and J.-R. C. Cheng, “A Systems Approach to Product Line Requirements Reuse,” IEEE Syst. J., vol. 8, no. 3, pp. 827–836, Sep. 2014.

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,” J. Syst. Softw., vol. 106, pp. 132–149, 2015.

K. Pohl and C. Rupp, Requirements Engineering Fundamentals, 2nd ed. Rocky Nook Inc., 2015.

C. Arora, M. Sabetzadeh, L. C. Briand, and F. Zimmer, “Requirement boilerplates: Transition from manually-enforced to automatically-verifiable natural language patterns,” 2014 IEEE 4th Int. Work. Requir. Patterns, RePa 2014 - Proc., pp. 1–8, 2014.

A. Monzon, “A practical approach to requirements reuse in product families of on-board systems,” Proc. 16th IEEE Int. Requir. Eng. Conf. RE’08, pp. 223–228, 2008.

[I. F. Da Silva, P. A. Da Mota Silveira Neto, P. O’Leary, E. S. De Almeida, and S. R. D. L. Meira, “Software product line scoping and requirements engineering in a small and medium-sized enterprise: An industrial case study,” J. Syst. Softw., vol. 88, no. 1, pp. 189–206, 2014.

Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki, “An exploratory study of cloning in industrial software product lines,” Proc. Eur. Conf. Softw. Maint. Reengineering, CSMR, pp. 25–34, 2013.

J. Rubin, “Cloned Product Variants: From Ad-hoc to Well-managed Software Reuse.,” PHD Dissertation., 2014.

S. T. Gonzalez, “Feature Oriented Model Driven Development: A Case Study for Portlets,” Proceedings of the 29th international conference on Software Engineering , 2007.

J. Carbonnel, M. Huchard, and C. Nebut, “Modelling equivalence classes of feature models with concept lattices to assist their extraction from product descriptions,” J. Syst. Softw., vol. 152, pp. 1–23, 2019.

M. Acher et al., “On extracting feature models from product descriptions,” Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems, pp. 45–54, 2012.

J. Martinez, T. Ziadi, T. F. Bissyandé, J. Klein, and Y. Le Traon, “Automating the extraction of model-based software product lines from model variants,” Proc. - 2015 30th IEEE/ACM Int. Conf. Autom. Softw. Eng. ASE 2015, pp. 396–406, 2016.

J. Martinez, T. Ziadi, T. F. Bissyande, J. Klein, and Y. Le Traon, “Bottom-up technologies for reuse: Automated extractive adoption of software product lines,” Proc. - 2017 IEEE/ACM 39th Int. Conf. Softw. Eng. Companion, ICSE-C 2017, pp. 67–70, 2017.

N. Niu and S. Easterbrook, “Extracting and modeling product line functional requirements,” Proc. 16th IEEE Int. Requir. Eng. Conf. RE’08, pp. 155–164, 2008.

C. Palomares, C. Quer, and X. Franch, “Requirements reuse and requirement patterns: a state of the practice survey,” Empir. Softw. Eng., vol. 22, no. 6, pp. 2719–2762, 2017.

F. Nasser, A. Al Omran, and C. Treude, “Choosing an NLP Library for Analyzing Software Documentation : A Systematic Literature Review and a Series of Experiments,” Proceedings of the 14th International Conference on Mining Software Repositories, 2017.

M. Honnibal and I. Montani, “spaCy 2: Natural language understanding with bloom embeddings, convolutional neural networks and incremental parsing,” To Appear, 2017.

N. Lindblad et al., “Natural Language Processing of Textual Requirements,” ICONS 2015 Tenth Int. Conf. Syst. Nat., vol. 9, no. 3, pp. 93–97, 2015.

A. Sree-Kumar, E. Planas, and R. Clarisó, “Extracting software product line feature models from natural language specifications,” ACM Int. Conf. Proceeding Ser., vol. 1, pp. 43–53, 2018.

A. Ferrari, G. O. Spagnolo, and S. Gnesi, “PURE: A Dataset of Public Requirements Documents,” Proc. - 2017 IEEE 25th Int. Requir. Eng. Conf. RE 2017, no. 1, pp. 502–505, 2017.