Analyzing evolution of variability in a software product line: From contexts and requirements to features

Context: In the long run, features of a software product line (SPL) evolve with respect to changes in stakeholder requirements and system contexts. Neither domain engineering nor requirements engineering handles such co-evolution of requirements and contexts explicitly, making it especially hard to reason about the impact of co-changes in complex scenarios. Objective: In this paper, we propose a problem-oriented and value-based analysis method for variability evolution analysis. The method takes into account both kinds of changes (requirements and contexts) during the life of an evolving software product line. Method: The proposed method extends the core requirements engineering ontology with the notions to represent variability-intensive problem decomposition and evolution. On the basis of problemorientation, the analysis method identifies candidate changes, detects influenced features, and evaluates their contributions to the value of the SPL. Results and Conclusion: The process of applying the analysis method is illustrated using a concrete case study of an evolving enterprise software system, which has confirmed that tracing back to requirements and contextual changes is an effective way to understand the evolution of variability in the software product line.

[1]  T. Gonen,et al.  Questions , 1927, Journal of Family Planning and Reproductive Health Care.

[2]  Yijun Yu,et al.  Configuring features with stakeholder goals , 2008, SAC '08.

[3]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[4]  Xin Peng,et al.  Ontology-Based Feature Modeling and Application-Oriented Tailoring , 2006, ICSR.

[5]  Barry W. Boehm,et al.  Developing Groupware for Requirements Negotiation: Lessons Learned , 2001, IEEE Softw..

[6]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[7]  Barry W. Boehm,et al.  Value-based software engineering: reinventing , 2003, SOEN.

[8]  John Mylopoulos,et al.  Revisiting the Core Ontology and Problem in Requirements Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[9]  Michael Jackson,et al.  Problem Oriented Software Engineering: Solving the Package Router Control Problem , 2008, IEEE Transactions on Software Engineering.

[10]  Raian Ali,et al.  A goal-based framework for contextual requirements modeling and analysis , 2010, Requirements Engineering.

[11]  Michael Jackson,et al.  Problem frame semantics for software development , 2005, Software & Systems Modeling.

[12]  Bernd Brügge,et al.  Evolution in Product Line Requirements Engineering: A Rationale Management Approach , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[13]  Seok-Won Lee,et al.  Feature-Oriented Nonfunctional Requirement Analysis for Software Product Line , 2009, Journal of Computer Science and Technology.

[14]  Mikael Svahnberg,et al.  Variability in Evolving Software Product Lines , 2000 .

[15]  Juha Kuusela,et al.  Violatility analysis framework for product lines , 2001, SSR '01.

[16]  Barry W. Boehm,et al.  An Initial Theory of Value-Based Software Engineering , 2006, Value-Based Software Engineering.

[17]  Marco D'Ambros Supporting software evolution analysis with historical dependencies and defect information , 2008, 2008 IEEE International Conference on Software Maintenance.

[18]  João Araújo,et al.  Modeling Volatile Concerns as Aspects , 2006, CAiSE.

[19]  Pierre-Yves Schobbens,et al.  What ' s in a Feature ? A Requirements Engineering Perspective , 2008 .

[20]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[21]  Keunhyuk Yeom,et al.  An approach to developing domain requirements as a core asset based on commonality and variability analysis in a product line , 2005, IEEE Transactions on Software Engineering.

[22]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[23]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[24]  Ronald E. Goldstein,et al.  Principles and techniques , 2009 .

[25]  Bashar Nuseibeh,et al.  Using Problem Descriptions to Represent Variabilities For Context-Aware Applications , 2007, VaMoS.

[26]  Yijun Yu,et al.  From Goals to High-Variability Software Design , 2008, ISMIS.

[27]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[28]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[29]  Yijun Yu,et al.  Towards a Unified Framework for Contextual Variability in Requirements , 2009, 2009 Third International Workshop on Software Product Management.

[30]  Bashar Nuseibeh,et al.  On the structure of problem variability : From feature diagrams to problem frames Conference or Workshop Item , 2018 .

[31]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[32]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.