Nonconformity Resolving Recommendations for Product Line Configuration

In the context of large-scale system product line engineering, manual configuration is often mandatory and therefore inevitably introduces nonconformities: violating pre-defined constraints for conformance checking. Resolving nonconformities without proper tool support is more or less random, as there are usually hundreds and thousands of configurable parameters and conformance constraints, in the context of configuring a large-scale and directly deployable system. Moreover, inter-connections among constraints and configurable parameters worsen the feasibility of manual resolving nonconformities without proper tool support. In this paper, we present an automatic approach (named as Zen-FIX) to optimally recommend solutions to resolve nonconformities using multi-objective search. Solutions recommended by Zen-FIX conform to all pre-defined constraints and are optimized in terms of maximizing the overall efficiency of an interactive product configuration process. We evaluated Zen-FIX with a real-world case study containing 52454 optimization problems, with which we evaluated seven multi-objective search algorithms. Results show that MoCell outperformed all others: CellDE, IBEA, NSGA-II, PESA2, Random, SPEA2, for most of the problems, in terms of Efficiency (a combined metric of finding optimized solutions and time performance).

[1]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[2]  Yong Bai,et al.  Subsea Engineering Handbook , 2012 .

[3]  Li Zhang,et al.  Model-based incremental conformance checking to enable interactive product configuration , 2016, Inf. Softw. Technol..

[4]  Krzysztof Czarnecki,et al.  A user survey of configuration challenges in Linux and eCos , 2012, VaMoS '12.

[5]  Yuanyuan Zhang,et al.  Search based software engineering for software product line engineering: a survey and directions for future work , 2014, SPLC.

[6]  J. Periaux,et al.  Evolutionary Methods for Design, Optimization and Control with Applications to Industrial Problems , 2001 .

[7]  Friedrich Steimann,et al.  Generic Model Assist , 2013, MoDELS.

[8]  Shaukat Ali,et al.  Search-based decision ordering to facilitate product line engineering of Cyber-Physical System , 2016, 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[9]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

[10]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[11]  Reda Bendraou,et al.  Towards Automated Inconsistency Handling in Design Models , 2010, CAiSE.

[12]  Douglas C. Schmidt,et al.  Automated Diagnosis of Product-Line Configuration Errors in Feature Models , 2008, 2008 12th International Software Product Line Conference.

[13]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[14]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[15]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[16]  Stuart Reid,et al.  An empirical analysis of equivalence partitioning, boundary value analysis and random testing , 1997, Proceedings Fourth International Software Metrics Symposium.

[17]  Mehrdad Sabetzadeh,et al.  Research-based innovation: a tale of three projects in model-driven engineering , 2012, MODELS'12.

[18]  Enrique Alba,et al.  MOCell: A cellular genetic algorithm for multiobjective optimization , 2009, Int. J. Intell. Syst..

[19]  Xavier Lorca,et al.  Choco: an Open Source Java Constraint Programming Library , 2008 .

[20]  Lothar Thiele,et al.  A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizers , 2006 .

[21]  Bran Selic,et al.  Cyber-physical system product line engineering: comprehensive domain analysis and experience report , 2015, SPLC.

[22]  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.

[23]  Martin J. Oates,et al.  PESA-II: region-based selection in evolutionary multiobjective optimization , 2001 .

[24]  Patrick Albert,et al.  Model Search: Formalizing and Automating Constraint Solving in MDE Platforms , 2010, ECMFA.

[25]  Tom Mens,et al.  Resolving model inconsistencies using automated regression planning , 2013, Software & Systems Modeling.

[26]  Li Zhang,et al.  Zen-CC: An Automated and Incremental Conformance Checking Solution to Support Interactive Product Configuration , 2014, 2014 IEEE 25th International Symposium on Software Reliability Engineering.

[27]  Lionel C. Briand,et al.  Generating Test Data from OCL Constraints with Search Techniques , 2013, IEEE Transactions on Software Engineering.

[28]  Ita Richardson,et al.  Important issues and key activities in product derivation: experiences from two independent research projects , 2009, SPLC.

[29]  Ana Moreira,et al.  A cover-based approach for configuration repair , 2014, SPLC.

[30]  Li Zhang,et al.  Constraints: The Core of Supporting Automated Product Configuration of Cyber-Physical Systems , 2013, MoDELS.

[31]  Krzysztof Czarnecki,et al.  Range Fixes: Interactive Error Resolution for Software Configuration , 2015, IEEE Transactions on Software Engineering.

[32]  J. H. Zar,et al.  Spearman Rank Correlation , 2005 .

[33]  Alexander Egyed,et al.  Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[34]  Andrea Arcuri,et al.  It really does matter how you normalize the branch distance in search‐based software testing , 2013, Softw. Test. Verification Reliab..

[35]  Bran Selic,et al.  SimPL: A product-line modeling methodology for families of integrated control systems , 2013, Inf. Softw. Technol..

[36]  Eckart Zitzler,et al.  Indicator-Based Selection in Multiobjective Search , 2004, PPSN.

[37]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[38]  Frank Neumann,et al.  Analyzing Hypervolume Indicator Based Algorithms , 2008, PPSN.

[39]  Enrique Alba,et al.  Solving Three-Objective Optimization Problems Using a New Hybrid Cellular Genetic Algorithm , 2008, PPSN.

[40]  Tom Mens,et al.  Assessing the Kodkod Model Finder for Resolving Model Inconsistencies , 2011, ECMFA.

[41]  S. She,et al.  Formal Semantics of the Kconfig Language Technical Note , 2010 .

[42]  Yan Li,et al.  A Practical Guide to Select Quality Indicators for Assessing Pareto-Based Search Algorithms in Search-Based Software Engineering , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[43]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[44]  Phil McMinn,et al.  Search-based software test data generation: a survey: Research Articles , 2004 .

[45]  Bo Wang,et al.  SmartFixer: fixing software configurations based on dynamic priorities , 2013, SPLC '13.

[46]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .