Recommending Faulty Configurations for Interacting Systems Under Test Using Multi-objective Search

Modern systems, such as cyber-physical systems, often consist of multiple products within/across product lines communicating with each other through information networks. Consequently, their runtime behaviors are influenced by product configurations and networks. Such systems play a vital role in our daily life; thus, ensuring their correctness by thorough testing becomes essential. However, testing these systems is particularly challenging due to a large number of possible configurations and limited available resources. Therefore, it is important and practically useful to test these systems with specific configurations under which products will most likely fail to communicate with each other. Motivated by this, we present a search-based configuration recommendation (SBCR) approach to recommend faulty configurations for the system under test (SUT) based on cross-product line (CPL) rules. CPL rules are soft constraints, constraining product configurations while indicating the most probable system states with a certain degree of confidence. In SBCR, we defined four search objectives based on CPL rules and combined them with six commonly applied search algorithms. To evaluate SBCR (i.e., SBCRNSGA-II, SBCRIBEA, SBCRMoCell, SBCRSPEA2, SBCRPAES, and SBCRSMPSO), we performed two case studies (Cisco and Jitsi) and conducted difference analyses. Results show that for both of the case studies, SBCR significantly outperformed random search-based configuration recommendation (RBCR) for 86% of the total comparisons based on six quality indicators, and 100% of the total comparisons based on the percentage of faulty configurations (PFC). Among the six variants of SBCR, SBCRSPEA2 outperformed the others in 85% of the total comparisons based on six quality indicators and 100% of the total comparisons based on PFC.

[1]  Camille Salinesi,et al.  Combining configuration and recommendation to define an interactive product line configuration approach , 2012, ArXiv.

[2]  Arnaud Gotlieb,et al.  Multi-objective test prioritization in software product line testing: an industrial case study , 2014, SPLC.

[3]  Enrique Alba,et al.  Design Issues in a Multiobjective Cellular Genetic Algorithm , 2007, EMO.

[4]  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).

[5]  Enrique Alba,et al.  SMPSO: A new PSO-based metaheuristic for multi-objective optimization , 2009, 2009 IEEE Symposium on Computational Intelligence in Multi-Criteria Decision-Making(MCDM).

[6]  Shuai Wang,et al.  Search-based test case implantation for testing untested configurations , 2019, Inf. Softw. Technol..

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

[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]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[10]  Paul Grünbacher,et al.  A systematic review and an expert survey on capabilities supporting multi product lines , 2012, Inf. Softw. Technol..

[11]  Leslie Pérez Cáceres,et al.  The irace package: Iterated racing for automatic algorithm configuration , 2016 .

[12]  Thomas Stützle,et al.  Computational results for an automatically tuned CMA-ES with increasing population size on the CEC’05 benchmark set , 2012, Soft Computing.

[13]  Krzysztof Czarnecki,et al.  Sample Spaces and Feature Models: There and Back Again , 2008, 2008 12th International Software Product Line Conference.

[14]  Jie Tian,et al.  Assessing the quality of industrial avionics software: an extensive empirical evaluation , 2017, Empirical Software Engineering.

[15]  Enrique Alba,et al.  AbYSS: Adapting Scatter Search to Multiobjective Optimization , 2008, IEEE Transactions on Evolutionary Computation.

[16]  Guisheng Fan,et al.  Combining Constraint Solving with Different MOEAs for Configuring Large Software Product Lines: A Case Study , 2018, 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC).

[17]  Arnaud Gotlieb,et al.  Automatic selection of test execution plans from a video conferencing system product line , 2012, VARY '12.

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

[19]  B. Kitchenham,et al.  Case Studies for Method and Tool Evaluation , 1995, IEEE Softw..

[20]  Jacques Klein,et al.  Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

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

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

[23]  Gordon Fraser,et al.  Parameter tuning or default values? An empirical investigation in search-based software engineering , 2013, Empirical Software Engineering.

[24]  Alexander Egyed,et al.  A systematic mapping study of search-based software engineering for software product lines , 2015, Inf. Softw. Technol..

[25]  Shuai Wang,et al.  UPMOA: An improved search algorithm to support user-preference multi-objective optimization , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

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

[27]  Sebastian Krieter,et al.  A feature-based personalized recommender system for product-line configuration , 2016, GPCE.

[28]  Krzysztof Czarnecki,et al.  Generating range fixes for software configuration , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[29]  N. Breslow A generalized Kruskal-Wallis test for comparing K samples subject to unequal patterns of censorship , 1970 .

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

[31]  Krzysztof Czarnecki,et al.  Mining configuration constraints: static analyses and empirical results , 2014, ICSE.

[32]  Myra B. Cohen,et al.  Evaluating improvements to a meta-heuristic search for constrained interaction testing , 2011, Empirical Software Engineering.

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

[34]  Magnus C. Ohlsson,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[35]  He Jiang,et al.  Feature based problem hardness understanding for requirements engineering , 2017, Science China Information Sciences.

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

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

[38]  Masahiro Tanaka,et al.  GA-based decision support system for multicriteria optimization , 1995, 1995 IEEE International Conference on Systems, Man and Cybernetics. Intelligent Systems for the 21st Century.

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

[40]  Mark Harman,et al.  Pareto efficient multi-objective test case selection , 2007, ISSTA '07.

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

[42]  Thorsten Berger,et al.  Tackling Combinatorial Explosion: A Study of Industrial Needs and Practices for Analyzing Highly Configurable Systems , 2018, 2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[43]  Shuai Wang,et al.  CBGA-ES+: A Cluster-Based Genetic Algorithm with Non-Dominated Elitist Selection for Supporting Multi-Objective Test Optimization , 2018, IEEE Transactions on Software Engineering.

[44]  Arnaud Gotlieb,et al.  Cost-effective test suite minimization in product lines using search techniques , 2015, J. Syst. Softw..

[45]  Leslie Pérez Cáceres,et al.  Ant colony optimization on a limited budget of evaluations , 2015, Swarm Intelligence.

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

[47]  Xin Yao,et al.  Software Module Clustering as a Multi-Objective Search Problem , 2011, IEEE Transactions on Software Engineering.

[48]  Øystein Haugen,et al.  An algorithm for generating t-wise covering arrays from large feature models , 2012, SPLC '12.

[49]  Giuliano Antoniol,et al.  Software project planning for robustness and completion time in the presence of uncertainty using multi objective search based software engineering , 2009, GECCO.

[50]  Qingfu Zhang,et al.  Combining Model-based and Genetics-based Offspring Generation for Multi-objective Optimization Using a Convergence Criterion , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[51]  Myra B. Cohen,et al.  Constructing Interaction Test Suites for Highly-Configurable Systems in the Presence of Constraints: A Greedy Approach , 2008, IEEE Transactions on Software Engineering.

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

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

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

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

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

[57]  Paolo Arcaini,et al.  Quality Indicators in Search-based Software Engineering , 2020, ACM Trans. Softw. Eng. Methodol..

[58]  J. Rice Mathematical Statistics and Data Analysis , 1988 .

[59]  Li Zhang,et al.  Nonconformity Resolving Recommendations for Product Line Configuration , 2016, 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[60]  Shuai Wang,et al.  Search-Based Cost-Effective Test Case Selection within a Time Budget: An Empirical Study , 2016, GECCO.

[61]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

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

[63]  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).

[64]  Chunhui Wang,et al.  UMTG: a toolset to automatically generate system test cases from use case specifications , 2015, ESEC/SIGSOFT FSE.

[65]  David W. Coit,et al.  Multi-objective optimization using genetic algorithms: A tutorial , 2006, Reliab. Eng. Syst. Saf..

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

[67]  Jason Brownlee,et al.  Clever Algorithms: Nature-Inspired Programming Recipes , 2012 .

[68]  Gordon Fraser,et al.  On Parameter Tuning in Search Based Software Engineering , 2011, SSBSE.

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

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

[71]  David W. Corne,et al.  Approximating the Nondominated Front Using the Pareto Archived Evolution Strategy , 2000, Evolutionary Computation.

[72]  Paolo Tonella,et al.  Symbolic search-based testing , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

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

[74]  Gunter Saake,et al.  N-dimensional tensor factorization for self-configuration of software product lines at runtime , 2018, SPLC.

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

[76]  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).

[77]  Shaukat Ali,et al.  Evaluating Variability Modeling Techniques for Supporting Cyber-Physical System Product Line Engineering , 2016, SAM.

[78]  Y Zhang,et al.  Multi-Objective Search-based Requirements Selection and Optimisation , 2010 .

[79]  Shaukat Ali,et al.  Using multi-objective search and machine learning to infer rules constraining product configurations , 2019, Automated Software Engineering.

[80]  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).

[81]  Arnaud Gotlieb,et al.  Practical minimization of pairwise-covering test configurations using constraint programming , 2016, Inf. Softw. Technol..

[82]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[83]  Marc Roubens,et al.  Multiple criteria decision making , 1994 .

[84]  A. E. Eiben,et al.  Parameter tuning for configuring and analyzing evolutionary algorithms , 2011, Swarm Evol. Comput..

[85]  Thomas Stützle,et al.  Automatic Configuration of Multi-objective Optimizers and Multi-objective Configuration , 2020, High-Performance Simulation-Based Optimization.

[86]  Arnaud Gotlieb,et al.  Practical pairwise testing for software product lines , 2013, SPLC '13.

[87]  Sebastian Oster,et al.  Automated Incremental Pairwise Testing of Software Product Lines , 2010, SPLC.

[88]  Krzysztof Czarnecki,et al.  Where Do Configuration Constraints Stem From? An Extraction Approach and an Empirical Study , 2015, IEEE Transactions on Software Engineering.

[89]  Shaukat Ali,et al.  Mining cross product line rules with multi-objective search and machine learning , 2017, GECCO.

[90]  Shaukat Ali,et al.  A framework for automated multi-stage and multi-step product configuration of cyber-physical systems , 2020, Software and Systems Modeling.

[91]  Marko Rosenmüller,et al.  Automating the Configuration of Multi Software Product Lines , 2010, VaMoS.

[92]  Shuai Wang,et al.  Empowering Testing Activities with Modeling - Achievements and Insights from Nine Years of Collaboration with Cisco , 2017, MODELSWARD.

[93]  Peter J. Fleming,et al.  Multiobjective optimization and multiple constraint handling with evolutionary algorithms. II. Application example , 1998, IEEE Trans. Syst. Man Cybern. Part A.

[94]  Krzysztof Czarnecki,et al.  SMTIBEA: a hybrid multi-objective optimization algorithm for configuring large constrained software product lines , 2019, Software & Systems Modeling.

[95]  Shuai Wang,et al.  Enhancing Test Case Prioritization in an Industrial Setting with Resource Awareness and Multi-objective Search , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[96]  Jacques Klein,et al.  Towards automated testing and fixing of re-engineered Feature Models , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[97]  Yuanyuan Zhang,et al.  Search Based Requirements Optimisation: Existing Work and Challenges , 2008, REFSQ.

[98]  Mark Harman,et al.  Multi-objective Software Effort Estimation , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[99]  Patrick M. Reed,et al.  Comparing state-of-the-art evolutionary multi-objective algorithms for long-term groundwater monitoring design , 2005 .

[100]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

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

[102]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[103]  YueTao,et al.  Quality Indicators in Search-based Software Engineering , 2020 .