Feature Selection Optimization in Software Product Lines

Feature modeling is a common approach for configuring and capturing commonalities and variations among different Software Product Lines (SPL) products. This process is carried out by a set of SPL design teams, each working on a different configuration of the desired product. The integration of these configurations leads to inconsistencies in the final product design. The typical solution involves extensive deliberation and unnecessary resource usage, which makes SPL inconsistency resolution an expensive and unoptimized process. We present the first comprehensive evaluation of swarm intelligence (using Particle Swarm Optimization) to the problem of resolving inconsistencies in a configured integrated SPL product. We call it <inline-formula> <tex-math notation="LaTeX">${o}$ </tex-math></inline-formula>-SPLIT (<inline-formula> <tex-math notation="LaTeX">${o}$ </tex-math></inline-formula>ptimization-based Software Product LIne Tool) and validate <inline-formula> <tex-math notation="LaTeX">${o}$ </tex-math></inline-formula>-SPLIT with standard ERP, SPLOT (Software Product Lines Online Tools), and BeTTy (BEnchmarking and TesTing on the analYsis) product configurations along with diverse feature set sizes. The results show that Particle Swarm Optimization can successfully optimize SPL product configurations. Finally, we implement <inline-formula> <tex-math notation="LaTeX">${o}$ </tex-math></inline-formula>-SPLIT as a decision-support tool in a real, local SPL setting and acquire subjective feedback from SPL designers which shows that the teams are convinced of the usability and high-level decision support provided by <inline-formula> <tex-math notation="LaTeX">${o}$ </tex-math></inline-formula>-SPLIT.

[1]  Om Prakash Sangwan,et al.  A Systematic Literature Review of Test Case Prioritization Using Genetic Algorithms , 2019, IEEE Access.

[2]  Saman K. Halgamuge,et al.  Self-organizing hierarchical particle swarm optimizer with time-varying acceleration coefficients , 2004, IEEE Transactions on Evolutionary Computation.

[3]  Somnuk Phon-Amnuaisuk,et al.  Knowledge Based Method to Validate Feature Models , 2008, SPLC.

[4]  I. Brace,et al.  Questionnaire Design: How to Plan, Structure and Write Survey Material for Effective Market Research , 2004 .

[5]  Douglas C. Schmidt,et al.  Selecting highly optimal architectural feature sets with Filtered Cartesian Flattening , 2009, J. Syst. Softw..

[6]  Michel Riveill,et al.  Towards a Software Product Line for Machine Learning Workflows: Focus on Supporting Evolution , 2016, ME@MoDELS.

[7]  Ethan V. Munson,et al.  Software Configuration Management for Product Derivation in Software Product Families , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[8]  Ethan V. Munson,et al.  A configuration management system for software product lines , 2012 .

[9]  Ricardo A. L. Rabêlo,et al.  Toward a hybrid approach to generate Software Product Line portfolios , 2013, 2013 IEEE Congress on Evolutionary Computation.

[10]  Xiaodong Li,et al.  Swarm Intelligence in Optimization , 2008, Swarm Intelligence.

[11]  Jian Li,et al.  Prediction Method for Low Speed Characteristics of Compressor Based on Modified Similarity Theory With Genetic Algorithm , 2018, IEEE Access.

[12]  A. Dias-Neto,et al.  0006/2011 - Threats to Validity in Search-based Software Engineering Empirical Studies , 2011 .

[13]  Douglas C. Schmidt,et al.  Filtered Cartesian Flattening: An Approximation Technique for Optimally Selecting Features while Adhering to Resource Constraints , 2008, SPLC.

[14]  Daniel Hoffman,et al.  Software product lines: a case study , 2000, Softw. Pract. Exp..

[15]  Tim Menzies,et al.  Scalable product line configuration: A straw to break the camel's back , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[16]  Linda M. Northrop,et al.  A Framework for Software Product Line Practice , 1999, ECOOP Workshops.

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

[18]  Sungwon Kang,et al.  A method to optimize the scope of a software product platform based on end-user features , 2014, J. Syst. Softw..

[19]  Sam Kwong,et al.  Genetic algorithms: concepts and applications [in engineering design] , 1996, IEEE Trans. Ind. Electron..

[20]  Charles W. Krueger,et al.  Mega-scale product line engineering at General Motors , 2012, SPLC '12.

[21]  Tim Menzies,et al.  Optimum feature selection in software product lines: Let your model and values guide your search , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[22]  Sanghamitra Bandyopadhyay,et al.  Multi-Objective Particle Swarm Optimization with time variant inertia and acceleration coefficients , 2007, Inf. Sci..

[23]  Richard Heeks,et al.  Explaining ERP failure in a developing country: a Jordanian case study , 2010, J. Enterp. Inf. Manag..

[24]  Zubair Ahmed Shaikh,et al.  Minimizing feature model inconsistencies in Software Product Lines , 2014, 17th IEEE International Multi Topic Conference 2014.

[25]  R. Eberhart,et al.  Empirical study of particle swarm optimization , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[26]  Yue Shi,et al.  A modified particle swarm optimizer , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[27]  Tim Menzies,et al.  On the value of user preferences in search-based software engineering: A case study in software product lines , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[28]  Johannes Müller,et al.  Value-Based Portfolio Optimization for Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

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

[30]  Wang Li-yan,et al.  An optimization framework for reuse component selection in software product line , 2009, 2009 Chinese Control and Decision Conference.

[31]  Miguel Toro,et al.  Automated error analysis for the agilization of feature modeling , 2008, J. Syst. Softw..

[32]  Daizhong Luo,et al.  Feature Dependency Modeling for Software Product Line , 2009, 2009 International Conference on Computer Engineering and Technology.

[33]  R. K. Ursem Multi-objective Optimization using Evolutionary Algorithms , 2009 .

[34]  Yijun Yu,et al.  Variability Modeling for Product Line Viewpoints Integration , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[35]  Jasbir S. Arora,et al.  Survey of multi-objective optimization methods for engineering , 2004 .

[36]  Jilles van Gurp,et al.  From SPLs to Open, Compositional Platforms , 2008, Combining the Advantages of Product Lines and Open Source.

[37]  Trevor A. Spedding,et al.  Enterprise resource planning: An integrative review , 2004, Bus. Process. Manag. J..

[38]  Douglas C. Schmidt,et al.  Automated diagnosis of feature model configurations , 2010, J. Syst. Softw..

[39]  Concha Bielza,et al.  Parameter Control of Genetic Algorithms by Learning and Simulation of Bayesian Networks — A Case Study for the Optimal Ordering of Tables , 2013, Journal of Computer Science and Technology.

[40]  Sergio Segura,et al.  BeTTy: benchmarking and testing on the automated analysis of feature models , 2012, VaMoS.

[41]  Jeff Z. Pan,et al.  Verifying feature models using OWL , 2007, J. Web Semant..

[42]  Lionel C. Briand,et al.  A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering , 2014, Softw. Test. Verification Reliab..

[43]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[44]  Antonio Ruiz Cortés,et al.  Abductive Reasoning and Automated Analysis of Feature Models: How are they connected? , 2009, VaMoS.

[45]  Ying-lin Wang,et al.  Ant colony optimization for feature selection in software product lines , 2013, Journal of Shanghai Jiaotong University (Science).

[46]  Arnaud Hubaux,et al.  Feature-based Configuration: Collaborative, Dependable, and Controlled , 2012 .

[47]  Ebrahim Bagheri,et al.  Feature Model Debugging based on Description Logic Reasoning , 2011, DMS.

[48]  Tariq Mahmood,et al.  Intelligent software product line configurations: A literature review , 2016, Comput. Stand. Interfaces.