Integration Test of Classes and Aspects with a Multi-Evolutionary and Coupling-Based Approach

The integration test of aspect-oriented systems involves the determination of an order to integrate and test classes and aspects, which should be associated to a minimal possible stubbing cost. To determine such order is not trivial because different factors influence on the stubbing process. Many times these factors are in conflict and diverse good solutions are possible. Due to this, promising results have been obtained with multi-objective and evolutionary algorithms that generally optimize two coupling measures: number of attributes and methods. However, the problem can be more effectively addressed considering as many as coupling measures could be associated to the stubbing process. Therefore, this paper introduces MECBA, a Multi-Evolutionary and Coupling-Based Approach to the test and integration order problem, which includes the definition of models to represent the dependency between modules and to quantify the stubbing costs. The approach is instantiated and evaluated considering four AspectJ programs and four coupling measures. The results represent a good trade-off between the objectives and an example of use of the obtained results shows how they can be used to reduce test effort and costs.

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

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

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

[4]  DebK.,et al.  A fast and elitist multiobjective genetic algorithm , 2002 .

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

[6]  Enrique Alba,et al.  The jMetal framework for multi-objective optimization: Design and architecture , 2010, IEEE Congress on Evolutionary Computation.

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

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

[9]  Marco Laumanns,et al.  Performance assessment of multiobjective optimizers: an analysis and review , 2003, IEEE Trans. Evol. Comput..

[10]  Mark Harman,et al.  Search Based Software Engineering: Introduction to the Special Issue of the IEEE Transactions on Software Engineering , 2010, IEEE Trans. Software Eng..

[11]  Aurora Trinidad Ramirez Pozo,et al.  Establishing integration test orders of classes with several coupling measures , 2011, GECCO '11.

[12]  Auri Marcelo Rizzo Vincenzi,et al.  Control and data flow structural testing criteria for aspect-oriented programs , 2007, J. Syst. Softw..

[13]  David Chenho Kung,et al.  Class Firewall, Test Order, and Regression Testing of Object-Oriented Programs , 1995, J. Object Oriented Program..

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

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

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

[17]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[18]  Gary B. Lamont,et al.  Multiobjective evolutionary algorithm test suites , 1999, SAC '99.

[19]  A. ilinskas Evolutionary Methods for Multi-Objective Portfolio Optimization , 2008 .

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

[21]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

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

[23]  Aurora Trinidad Ramirez Pozo,et al.  Multi-objective optimization algorithms applied to the class integration and test order problem , 2012, International Journal on Software Tools for Technology Transfer.

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

[25]  Jianjun Zhao,et al.  Data-flow-based unit testing of aspect-oriented programs , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[26]  Paulo César Masiero,et al.  Minimizing stub creation during integration test of aspect-oriented programs , 2007, WTAOP@AOSD.

[27]  Yuanyuan Zhang,et al.  Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications , 2009 .

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

[29]  Antanas Zilinskas,et al.  Approximation of Pareto Set in Multi Objective Portfolio Optimization , 2008, World Congress on Engineering.