Multi-objective optimization algorithms applied to the class integration and test order problem

In the context of object-oriented software, a common problem is the determination of test orders for the integration test of classes, known as the class integration and test order (CITO) problem. The existing approaches, based on graphs, usually generate solutions that are sub-optimal, and do not consider the different factors and measures that can affect the construction of stubs. To overcome this limitation, solutions based on genetic algorithms (GA) have presented promising results. However, the determination of a cost function, which is able to generate the best solution, is not always a trivial task, mainly for complex systems. Therefore, to better represent the CITO problem, we introduce, in this paper, a multi-objective optimization approach, to generate a set of good solutions that achieve a balanced compromise between the different measures (objectives). Three different multi-objective optimization algorithms (MOA) were implemented: Pareto ant colony, multi-objective Tabu search and non-dominated sorting GA. The approach is applied to real programs and the obtained results allow comparison with the simple GA approach and evaluation of the different MOA.

[1]  Yvan Labiche,et al.  Experimenting with Genetic Algorithms to Devise Optimal Integration Test Orders , 2003 .

[2]  Richard F. Hartl,et al.  Pareto Ant Colony Optimization: A Metaheuristic Approach to Multiobjective Portfolio Selection , 2004, Ann. Oper. Res..

[3]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[4]  Hisao Ishibuchi,et al.  Evolutionary many-objective optimization by NSGA-II and MOEA/D with large populations , 2009, 2009 IEEE International Conference on Systems, Man and Cybernetics.

[5]  R. Hartl,et al.  Solving a Bi-objective Flowshop Scheduling Problem by Pareto-Ant Colony Optimization , 2006, ANTS Workshop.

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

[7]  Francisco Herrera,et al.  A study on the use of non-parametric tests for analyzing the evolutionary algorithms’ behaviour: a case study on the CEC’2005 Special Session on Real Parameter Optimization , 2009, J. Heuristics.

[8]  Kuo-Chung Tai,et al.  Test order for inter-class integration testing of object-oriented software , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[9]  Christian Blum,et al.  Ant colony optimization: Introduction and recent trends , 2005 .

[10]  Aurora Trinidad Ramirez Pozo,et al.  A Pareto Ant Colony Algorithm Applied to the Class Integration and Test Order Problem , 2010, ICTSS.

[11]  Chengying Mao,et al.  AICTO: an improved algorithm for planning inter-class test order , 2005, The Fifth International Conference on Computer and Information Technology (CIT'05).

[12]  Peter J. Clarke,et al.  The implementation of an extensible system for comparison and visualization of class ordering methodologies , 2006, J. Syst. Softw..

[13]  U Aickelin,et al.  Handbook of metaheuristics (International series in operations research and management science) , 2005 .

[14]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[15]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[16]  Jean-Marc Jézéquel,et al.  Efficient object-oriented integration and regression testing , 2000, IEEE Trans. Reliab..

[17]  J. Jaroenpiboonkit,et al.  Class Ordering Tool – A Tool for Class Ordering in Integration Testing , 2008, 2008 International Conference on Advanced Computer Theory and Engineering.

[18]  Lionel C. Briand,et al.  An Investigation of Graph-Based Class Integration Test Order Strategies , 2003, IEEE Trans. Software Eng..

[19]  John D. McGregor,et al.  Incremental Testing Of Object-Oriented Class Structures/spl dagger/ , 1992, International Conference on Software Engineering.

[20]  A. Baykasoğlu,et al.  A TABOO SEARCH BASED APPROACH TO FIND THE PARETO OPTIMAL SET IN MULTIPLE OBJECTIVE OPTIMIZATION , 1999 .

[21]  V. Pareto Manuel D'Economie Politique , 1988 .

[22]  Fred W. Glover,et al.  Future paths for integer programming and links to artificial intelligence , 1986, Comput. Oper. Res..

[23]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[24]  John D. McGregor,et al.  Incremental testing of object-oriented class structures , 1992, ICSE '92.

[25]  Taratip Suwannasart,et al.  Finding a Test Order using Object-Oriented Slicing Technique , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[26]  David Chenho Kung,et al.  A test strategy for object-oriented programs , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[27]  A. Jefferson Offutt,et al.  Coupling-based class integration and test order , 2006, AST '06.

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

[29]  Lionel C. Briand,et al.  Using genetic algorithms and coupling measures to devise optimal integration test orders , 2002, SEKE '02.

[30]  J. Potvin,et al.  Tabu Search , 2018, Handbook of Metaheuristics.

[31]  Ewan D. Tempero,et al.  An empirical study of cycles among classes in Java , 2007, Empirical Software Engineering.

[32]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems (Genetic and Evolutionary Computation) , 2006 .