Constraint Handling in NSGA-II for Solving Optimal Testing Resource Allocation Problems

In software testing, optimal testing resource allocation problems (OTRAPs) are important when seeking a good tradeoff between reliability, cost, and time with limited resources. There have been intensive studies of OTRAPs using multiobjective evolutionary algorithms (MOEAs), but little attention has been paid to the constraint handling. This paper comprehensively investigates the effect of the constraint handling on the performance of nondominated sorting genetic algorithm II (NSGA-II) for solving OTRAPs, from both theoretical and empirical perspectives. The heuristics for individual repairs are first proposed to handle constraint violations in NSGA-II, based on which several properties are derived. Additionally, the Z-score based Euclidean distance is adopted to estimate the difference between solutions. Finally, the above methods are evaluated and the experiments show several results. 1) The developed heuristics for constraint handling are better than the Existing Strategy in terms of the capacity and coverage values. 2) The Z-score operation obtains better diversity values and reduces repeated solutions. 3) The modified NSGA-II for OTRAPs (called NSGA-II-TRA) performs significantly better than the existing MOEAs in terms of capacity and coverage values, which suggests that NSGA-II-TRA could obtain more and higher quality testing-time-allocation schemes, especially for large, complex datasets. 4) NSGA-II-TRA is robust according to the sensitivity analysis results.

[1]  Xin Yao,et al.  Diversity Assessment in Many-Objective Optimization , 2017, IEEE Transactions on Cybernetics.

[2]  Jie Zhang,et al.  Consistencies and Contradictions of Performance Metrics in Multiobjective Optimization , 2014, IEEE Transactions on Cybernetics.

[3]  Qingfu Zhang,et al.  Multiobjective Optimization Problems With Complicated Pareto Sets, MOEA/D and NSGA-II , 2009, IEEE Transactions on Evolutionary Computation.

[4]  Akhil Kumar,et al.  Voting mechanisms in distributed systems , 1991 .

[5]  Dun-Wei Gong,et al.  Test data generation for path coverage of message-passing parallel programs based on co-evolutionary genetic algorithms , 2014, Automated Software Engineering.

[6]  R. Larsen,et al.  An introduction to mathematical statistics and its applications (2nd edition) , by R. J. Larsen and M. L. Marx. Pp 630. £17·95. 1987. ISBN 13-487166-9 (Prentice-Hall) , 1987, The Mathematical Gazette.

[7]  Kishor S. Trivedi,et al.  Software Reliability and Testing Time Allocation: An Architecture-Based Approach , 2010, IEEE Transactions on Software Engineering.

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

[9]  Douglas A. Wolfe,et al.  Nonparametric Statistical Methods , 1973 .

[10]  Fanlin Meng,et al.  Mutant reduction based on dominance relation for weak mutation testing , 2017, Inf. Softw. Technol..

[11]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007, IEEE Transactions on Software Engineering.

[12]  P. C. Jha,et al.  Optimal testing resource allocation during module testing considering cost, testing effort and reliability , 2009, Comput. Ind. Eng..

[13]  Dirk Sudholt,et al.  Improved Evolutionary Algorithm Design for the Project Scheduling Problem Based on Runtime Analysis , 2014, IEEE Transactions on Software Engineering.

[14]  Way Kuo,et al.  Recent Advances in Optimal Reliability Allocation , 2007, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[15]  Yang Lu,et al.  Multi-software reliability allocation in multimedia systems with budget constraints using Dempster-Shafer theory and improved differential evolution , 2015, Neurocomputing.

[16]  Xin Yao,et al.  A multi-objective approach to testing resource allocation in modular software systems , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[17]  Chin-Yu Huang,et al.  An Architecture-Based Multi-Objective Optimization Approach to Testing Resource Allocation , 2015, IEEE Transactions on Reliability.

[18]  Bala Shetty,et al.  The Nonlinear Resource Allocation Problem , 1995, Oper. Res..

[19]  Kalyanmoy Deb,et al.  Multi-objective optimization using evolutionary algorithms , 2001, Wiley-Interscience series in systems and optimization.

[20]  Xin Yao,et al.  Some Recent Work on Multi-objective Approaches to Search-Based Software Engineering , 2013, SSBSE.

[21]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[22]  Mark Harman,et al.  The Oracle Problem in Software Testing: A Survey , 2015, IEEE Transactions on Software Engineering.

[23]  Swapna S. Gokhale,et al.  Optimal Allocation of Testing Effort Considering Software Architecture , 2012, IEEE Transactions on Reliability.

[24]  Xin Yao,et al.  Multi-Objective Approaches to Optimal Testing Resource Allocation in Modular Software Systems , 2010, IEEE Transactions on Reliability.

[25]  Tapabrata Ray,et al.  Infeasibility Driven Evolutionary Algorithm (IDEA) for Engineering Design Optimization , 2008, Australasian Conference on Artificial Intelligence.

[26]  Sy-Yen Kuo,et al.  Efficient allocation of testing resources for software module testing based on the hyper-geometric distribution software reliability growth model , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[27]  Min Xie,et al.  Optimal testing‐time allocation for modular systems , 2001 .

[28]  Shengxiang Yang,et al.  Evolutionary Algorithms With Segment-Based Search for Multiobjective Optimization Problems , 2014, IEEE Transactions on Cybernetics.

[29]  Gary G. Yen,et al.  Constraint handling in multi-objective evolutionary optimization , 2007, 2007 IEEE Congress on Evolutionary Computation.

[30]  Bin Li,et al.  Optimal Testing Resource Allocation for modular software systems based-on multi-objective evolutionary algorithms with effective local search strategy , 2013, 2013 IEEE Workshop on Memetic Computing (MC).

[31]  Kalyanmoy Deb,et al.  Simulated Binary Crossover for Continuous Search Space , 1995, Complex Syst..

[32]  Tapabrata Ray,et al.  Performance of infeasibility driven evolutionary algorithm (IDEA) on constrained dynamic single objective optimization problems , 2009, 2009 IEEE Congress on Evolutionary Computation.

[33]  Chen Zhang,et al.  Reducing scheduling sequences of message-passing parallel programs , 2016, Inf. Softw. Technol..

[34]  T. Liao,et al.  Optimal Testing Resource Allocation Problems in Software System using Heuristic Algorithm , 2013 .

[35]  Shigeru Yamada,et al.  Software Reliability Growth Models with Testing-Effort , 1986, IEEE Transactions on Reliability.

[36]  Dunwei Gong,et al.  Evolutionary generation of test data for many paths coverage , 2010, CCDC 2010.

[37]  D. J. H. Garling,et al.  The Cauchy-Schwarz Master Class: An Introduction to the Art of Mathematical Inequalities by J. Michael Steele , 2005, Am. Math. Mon..

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

[39]  R. Tavakkoli-Moghaddam,et al.  Reliability optimization of series-parallel systems with a choice of redundancy strategies using a genetic algorithm , 2008, Reliab. Eng. Syst. Saf..

[40]  Shigeru Yamada,et al.  Optimal allocation and control problems for software-testing resources , 1990 .

[41]  Xin Yao,et al.  Two_Arch2: An Improved Two-Archive Algorithm for Many-Objective Optimization , 2015, IEEE Transactions on Evolutionary Computation.

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

[43]  Michael R. Lyu,et al.  Optimal allocation of test resources for software reliability growth modeling in software development , 2002, IEEE Trans. Reliab..

[44]  Michael R. Lyu,et al.  Optimal testing resource allocation, and sensitivity analysis in software development , 2005, IEEE Transactions on Reliability.

[45]  Carlos A. Coello Coello,et al.  Constraint-handling in nature-inspired numerical optimization: Past, present and future , 2011, Swarm Evol. Comput..

[46]  Shunji Osaki,et al.  Software-reliability growth with a Weibull test-effort: a model and application , 1993 .

[47]  Sy-Yen Kuo,et al.  Needed resources for software module test, using the hyper-geometric software reliability growth model , 1996, IEEE Trans. Reliab..

[48]  Kalyanmoy Deb,et al.  Reference point based multi-objective optimization using evolutionary algorithms , 2006, GECCO.