Extracting core requirements for software product lines

Iris Reinhartz-Berger, Mark Kemelman

Research output: Contribution to journalArticlepeer-review

Abstract

Software Product Line Engineering (SPLE) is a promising paradigm for reusing knowledge and artifacts among similar software products. However, SPLE methods and techniques require a high up-front investment and hence are profitable if several similar software products are developed. Thus in practice adoption of SPLE commonly takes a bottom-up approach, in which analyzing the commonality and variability of existing products and transforming them into reusable ones (termed core assets) are needed. These time-consuming and error-prone tasks call for automation. The literature partially deals with solutions for early software development stages, mainly in the form of variability analysis. We aim for further creation of core requirements—reusable requirements that can be adapted for different software products. To this end, we introduce an automated extractive method, named CoreReq, to generate core requirements from product requirements written in a natural language. The approach clusters similar requirements, captures variable parts utilizing natural language processing techniques, and generates core requirements following an ontological variability framework. Focusing on cloning scenarios, we evaluated CoreReq through examples and a controlled experiment. Based on the results, we claim that core requirements generation with CoreReq is feasible and usable for specifying requirements of new similar products in cloning scenarios.

Original languageAmerican English
Pages (from-to)47-65
Number of pages19
JournalRequirements Engineering
Volume25
Issue number1
DOIs
StatePublished - 1 Mar 2020

Keywords

  • Requirements specification
  • Software Product Line Engineering
  • Systematic reuse
  • Variability analysis

All Science Journal Classification (ASJC) codes

  • Software
  • Information Systems

Fingerprint

Dive into the research topics of 'Extracting core requirements for software product lines'. Together they form a unique fingerprint.

Cite this