Toward automated quality‐centric product line configuration using intentional variability

Software product line engineering is a discipline that facilitates a systematic reuse‐based approach by formally representing commonalities and variabilities between the applications of a target domain. As one of the main artifacts of the software product line, a feature model represents the possible configuration space and can be customized based on the stakeholders' needs. Considering the complexity of the variabilities represented by feature models and the diversity of the stakeholders' expectations, the configuration process can be viewed as a complex optimization problem. In previous research, researchers have bridged the gap between requirement and product line engineering by integrating feature models and goal models. In this paper, we propose an approach for the configuration process that seeks to satisfy the stakeholders' requirements as well as the feature models' structural and integrity constraints. We model stakeholders' functional and nonfunctional needs and their preferences using requirement engineering goal models. We formalize the structure of the feature model, the stakeholders' objectives, and their preferences in the form of an integer linear program to conduct a semi‐automated feature model configuration process. Our experimental results show that the proposed configuration framework is scalable when considering both functional and nonfunctional requirements of stakeholders.

[1]  Gunter Saake,et al.  SPL Conqueror: Toward optimization of non-functional properties in software product lines , 2012, Software Quality Journal.

[2]  Sergio Segura,et al.  SIP: Optimal Product Selection from Feature Models Using Many-Objective Evolutionary Optimization , 2016, ACM Trans. Softw. Eng. Methodol..

[3]  Scott O. Bradner,et al.  Key words for use in RFCs to Indicate Requirement Levels , 1997, RFC.

[4]  Bo Yang,et al.  Addressing quality attributes in domain analysis for product lines , 2006, IEE Proc. Softw..

[5]  Yuval Rabani,et al.  Linear Programming , 2007, Handbook of Approximation Algorithms and Metaheuristics.

[6]  Dragan Gasevic,et al.  Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features , 2010, SPLC.

[7]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[8]  T. Saaty,et al.  The Analytic Hierarchy Process , 1985 .

[9]  Bart Kosko,et al.  Fuzzy Cognitive Maps , 1986, Int. J. Man Mach. Stud..

[10]  George B. Dantzig,et al.  Linear Programming 1: Introduction , 1997 .

[11]  Douglas C. Schmidt,et al.  Automated reasoning for multi-step feature model configuration problems , 2009, SPLC.

[12]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[13]  John Mylopoulos,et al.  Reasoning with Goal Models , 2002, ER.

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

[15]  Dragan Gasevic,et al.  Assessing the maintainability of software product line feature models using structural metrics , 2011, Software Quality Journal.

[16]  Maya Daneva,et al.  Supporting the Dynamic Reprioritization of Requirements in Agile Development of Software Products , 2008, 2008 Second International Workshop on Software Product Management.

[17]  Ian Sommerville,et al.  Viewpoints: principles, problems and a practical approach to requirements engineering , 1997, Ann. Softw. Eng..

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

[19]  Diego Latella,et al.  Towards Automatic Decision Support for Bike-Sharing System Design , 2015, SEFM Workshops.

[20]  Yijun Yu,et al.  Requirements-driven design of autonomic application software , 2016, CASCON.

[21]  Marjo Kauppinen,et al.  Empirical Evaluation of Two Requirements Prioritization Methods in Product Development Projects , 2004, EuroSPI.

[22]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[23]  Jacques Klein,et al.  Multi-objective test generation for software product lines , 2013, SPLC '13.

[24]  Yves Le Traon,et al.  Combining Multi-Objective Search and Constraint Solving for Configuring Large Software Product Lines , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[25]  João Araújo,et al.  Adapting the i* Framework for Software Product Lines , 2009, ER Workshops.

[26]  J. van Leeuwen,et al.  Advanced Information Systems Engineering , 1999, Lecture Notes in Computer Science.

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

[28]  C. C. Gonzaga On the Complexity of Linear Programming , 1995 .

[29]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[30]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[31]  Donald Firesmith,et al.  Prioritizing Requirements , 2004, J. Object Technol..

[32]  Sooyong Park,et al.  Dynamic Software Product Lines , 2008, Computer.

[33]  Yinglin Wang,et al.  A genetic algorithm for optimized feature selection with resource constraints in software product lines , 2011, J. Syst. Softw..

[34]  Didar Zowghi,et al.  An investigation into the notion of non-functional requirements , 2010, SAC '10.

[35]  Alexandr Murashkin,et al.  Clafer tools for product line engineering , 2013, SPLC '13 Workshops.

[36]  Yijun Yu,et al.  Configuring common personal software: a requirements-driven approach , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[37]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[38]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[39]  R. W. Saaty,et al.  The analytic hierarchy process—what it is and how it is used , 1987 .

[40]  Marek Hatala,et al.  Automated planning for feature model configuration based on functional and non-functional requirements , 2012, SPLC '12.

[41]  Natalia Juristo Juzgado,et al.  Basics of Software Engineering Experimentation , 2010, Springer US.

[42]  Derek Rayside,et al.  Modelling and multi-objective optimization of quality attributes in variability-rich software , 2012, NFPinDSML '12.

[43]  Alexandr Murashkin,et al.  Visualization and exploration of optimal variants in product line engineering , 2013, SPLC '13.

[44]  Annie I. Antón,et al.  Goal-based requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[45]  Sue A. Conger,et al.  The new software engineering , 1993, notThenot Wadsworth series in management information series.

[46]  Marek Hatala,et al.  Toward automated feature model configuration with optimizing non-functional requirements , 2014, Inf. Softw. Technol..

[47]  Neil A. M. Maiden,et al.  Acquiring COTS Software Selection Requirements , 1998, IEEE Softw..

[48]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[49]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[50]  Miguel A. Laguna,et al.  Product Line Requirements based on Goals, Features and Use cases , 2005 .

[51]  Jaelson Brelaz de Castro,et al.  A Goal Oriented Approach to Identify and Configure Feature Models for Software Product Lines , 2011, WER.

[52]  Wenpu Xing,et al.  Weighted PageRank algorithm , 2004, Proceedings. Second Annual Conference on Communication Networks and Services Research, 2004..

[53]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[54]  John Mylopoulos,et al.  Requirements-driven configuration of software systems , 2005 .

[55]  Ebrahim Bagheri,et al.  From Intentions to Decisions: Understanding Stakeholders' Objectives in Software Product Line Configuration , 2014, SEKE.

[56]  Krzysztof Czarnecki,et al.  Staged configuration through specialization and multilevel configuration of feature models , 2005, Softw. Process. Improv. Pract..

[57]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[58]  Dragan Gasevic,et al.  Formalizing interactive staged feature model configuration , 2012, J. Softw. Evol. Process..

[59]  Y. Alex Tung,et al.  Time complexity and consistency issues in using the AHP for making group decisions , 1998 .

[60]  Jacques Klein,et al.  Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-Wise Test Configurations for Software Product Lines , 2014, IEEE Transactions on Software Engineering.

[61]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[62]  Ebrahim Bagheri,et al.  Addressing Non-Functional Properties in Feature Models: A Goal-Oriented Approach , 2014, Int. J. Softw. Eng. Knowl. Eng..

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

[64]  Ebrahim Bagheri,et al.  Capturing non-functional properties through model interlinking , 2014, 2014 IEEE 27th Canadian Conference on Electrical and Computer Engineering (CCECE).

[65]  G. Nemhauser,et al.  Integer Programming , 2020 .

[66]  Derek Rayside,et al.  The Guided Improvement Algorithm for Exact, General-Purpose, Many-Objective Combinatorial Optimization , 2009 .

[67]  Ebrahim Bagheri,et al.  Product Line Stakeholder Preference Elicitation via Decision Processes , 2014, Int. J. Knowl. Syst. Sci..

[68]  David M. Weiss,et al.  Software Product Line Hall of Fame , 2006, 10th International Software Product Line Conference (SPLC'06).

[69]  Myra B. Cohen,et al.  Users beware: preference inconsistencies ahead , 2015, ESEC/SIGSOFT FSE.

[70]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[71]  John Mylopoulos Goal-Oriented Requirements Engineering , 2008, CIbSE.

[72]  John Mylopoulos,et al.  From E-R to "A-R" - Modelling Strategic Actor Relationships for Business Process Reengineering , 1994, Int. J. Cooperative Inf. Syst..

[73]  Andy Schürr,et al.  Staged configuration of dynamic software product lines with complex binding time constraints , 2014, VaMoS.

[74]  Claes Wohlin,et al.  An evaluation of methods for prioritizing software requirements , 1998, Inf. Softw. Technol..

[75]  Maria E. Orlowska,et al.  Specification and validation of process constraints for flexible workflows , 2005, Inf. Syst..

[76]  Günther Pernul,et al.  Proceedings of the ER 2009 Workshops (CoMoL, ETheCoM, FP-UML, MOST-ONISW, QoIS, RIGiM, SeCoGIS) on Advances in Conceptual Modeling - Challenging Perspectives , 2009 .

[77]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[78]  Gerd Gröner,et al.  Validation of user intentions in process orchestration and choreography , 2014, Inf. Syst..

[79]  Dean Leffingwell,et al.  Managing software requirements: a unified approach , 1999 .

[80]  Jianmei Guo,et al.  Consistency maintenance for evolving feature models , 2012, Expert Syst. Appl..