Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abdurazik, A., Offutt, J.: Coupling-based class integration and test order. In: International Workshop on Automation of Software Test, ACM, New York (2006)
Assunção, W., Colanzi, T., Pozo, A., Vergilio, S.: Establishing integration test orders of classes with several coupling measures. In: GECCO 2011, pp. 1867–1874 (2011)
Briand, L.C., Feng, J., Labiche, Y.: Using genetic algorithms and coupling measures to devise optimal integration test orders. In: 14th SEKE (July 2002)
Briand, L.C., Labiche, Y.: An investigation of graph-based class integration test order strategies. IEEE Trans. on Software Engineering 29(7), 594–607 (2003)
da Veiga Cabral, R., Pozo, A., Vergilio, S.R.: A Pareto Ant Colony Algorithm Applied to the Class Integration and Test Order Problem. In: Petrenko, A., Simão, A., Maldonado, J.C. (eds.) ICTSS 2010. LNCS, vol. 6435, pp. 16–29. Springer, Heidelberg (2010)
Ceccato, M., Tonella, P., Ricca, F.: Is AOP code easier or harder to test than OOP code. In: First Workshop on Testing Aspect-Oriented Program (WTAOP), Chicago, Illinois (2005)
Cochrane, J., Zeleny, M.: Multiple Criteria Decision Making. University of South Carolina Press, Columbia (1973)
Coello, C.A.C., Lamont, G.B., Veldhuizen, D.A.V.: Evolutionary algorithms for solving multi-objective problems. In: GECCO 2006 (2006)
Colanzi, T., Assunção, W., Vergilio, S., Pozo, A.: Generating integration test orders for aspect-oriented software with multi-objective algorithms. In: Latin American Workshop on Aspect-Oriented Software Development (to appear, 2011)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. on Evolutionary Computation 6(2), 182–197 (2002)
Durillo, J., Nebro, A., Alba, E.: The jMetal framework for multi-objective optimization: Design and architecture. In: CEC 2010., pp. 4138–4325 (July 2010)
Galvan, R., Pozo, A., Vergilio, S.: Establishing Integration Test Orders for Aspect-Oriented Programs with an Evolutionary Strategy. In: Latinamerican Workshop on Aspect Oriented Software (2010)
Harman, M.: The current state and future of search based software engineering. In: Future of Software Engineering, FOSE, pp. 342–357 (May 2007)
Harman, M., Mansouri, A.: Special issue on search based software engineering. IEEE Transactions on Software Engineering 36(6) (2010)
Harman, M., Mansouri, S.A., Zhang, Y.: Search based software engineering: A comprehensive analysis and review of trends techniques and applications. Tech. Rep. TR-09-03 (April 2009)
Knowles, J., Thiele, L., Zitzler, E.: A tutorial on the performance assessment of stochastic multiobjective optimizers. Tech. rep., Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Switzerland (fevereiro 2006) (revised version)
Knowles, J.D., Corne, D.W.: Approximating the nondominated front using the Pareto archived evolution strategy. Evol. Comput. 8, 149–172 (2000)
Kung, D.C., Gao, J., Hsia, P., Lin, J., Toyoshima, Y.: Class firewal, test order and regression testing of object-oriented programs. J. of Object-Oriented Progr. (1995)
Lemos, O.A.L., Vincenzi, A.M.R., Maldonado, J.C., Masiero, P.C.: Control and data flow structural testing criteria for aspect-oriented programs. The Journal of Systems and Software 80, 862–882 (2007)
Melton, H., Tempero, E.: An empirical study of cycles among classes in Java. Empirical Software Engineering 12, 389–415 (2007)
Pareto, V.: Manuel D’Economie Politique. Ams Press, Paris (1927)
Pozo, A., Bertoldi, G., Árias, J., Cabral, R., Vergilio, S.: Multi-objective optimization algorithms applied to the class integration and test order problem. Software Tools for Technology Transfer (2011) (submitted)
Radziukyniene, I., Zilinskas, A.: Evolutionary Methods for Multi-Objective Portfolio Optimization. In: World Congress on Engineering (July 2008)
Ré, R., Lemos, O.A.L., Masiero, P.C.: Minimizing stub creation during integration test of aspect-oriented programs. In: 3rd Workshop on Testing Aspect-Oriented Programs, Vancouver, British Columbia, Canada, pp. 1–6 (March 2007)
Ré, R., Masiero, P.C.: Integration testing of aspect-oriented programs: a characterization study to evaluate how to minimize the number of stubs. In: Brazilian Symposium on Software Engineering, pp. 411–426 (October 2007)
Tai, K.C., Daniels, F.J.: Test order for inter-class integration testing of object-oriented software. In: 21st International Computer Software and Applications Conference, pp. 602–607. IEEE Computer Society Press, Los Alamitos (1997)
Traon, Y.L., Jéron, T., Jézéquel, J.M., Morel, P.: Efficient object-oriented integration and regression testing. IEEE Transactions on Reliability, 12–25 (2000)
van Veldhuizen, D.A., Lamont, G.B.: Multiobjective evolutionary algorithm test suites. In: Proceedings of the 1999 ACM Symposium on Applied Computing (SAC 1999), pp. 351–357. ACM, New York (1999)
Zhao, J.: Data-flow based unit testing of aspect-oriented programs. In: 27th Conference on Computer Software and Applications, Washington, DC (2003)
Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Tech. rep., Zurich, Switzerland (2001)
Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C.M., da Fonseca, V.G.: Performance assessment of multiobjective optimizers: An analysis and review. IEEE Transactions on Evolutionary Computation 7, 117–132 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Colanzi, T.E., Assunção, W.K.G., Vergilio, S.R., Pozo, A. (2011). Integration Test of Classes and Aspects with a Multi-Evolutionary and Coupling-Based Approach. In: Cohen, M.B., Ó Cinnéide, M. (eds) Search Based Software Engineering. SSBSE 2011. Lecture Notes in Computer Science, vol 6956. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23716-4_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-23716-4_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23715-7
Online ISBN: 978-3-642-23716-4
eBook Packages: Computer ScienceComputer Science (R0)