Abstract
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.
Similar content being viewed by others
References
Abdurazik, A., Offutt, J.: Coupling-based class integration and test order. In: International Workshop on Automation of Software Test. ACM, Shanghai, China, May 2006
Baykasoglu A., Owen S., Gindy N.: A taboo search based approach to find the pareto optimal set in multiple objective optimisation. Eng. Optim. 31, 731–748 (2007)
Binder R.V.: Testing object-oriented systems: models, patterns, and tools. Addison-Wesley, Reading (2000)
Blum C.: Ant colony optimization: introduction and recent trends. Phys. Life Rev. 2(4), 353–373 (2005)
Briand, L.C., Feng, J., Labiche, Y.: Experimenting with genetic algorithms and coupling measures to devise optimal integration test orders. Carleton University, Technical report SCE-02-03, Oct 2002
Briand, L.C., Feng, J., Labiche, Y.: Using genetic algorithms and coupling measures to devise optimal integration test orders. In: 14th International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 43–50. Ischia, Italy, July 2002
Briand L.C., Labiche Y., Wang Y.: An investigation of graph-based class integration test order strategies. IEEE Trans. Softw. Eng. 29(7), 594–607 (2003)
Cabral, R., Pozo, A., Vergilio, S.: A Pareto ant colony algorithm applied to the class integration and test order problem. In: Proceedings of the 22nd IFIP WG 6.1 International Conference on Testing Software and Systems—ICTSS’10, pp. 16–29. Springer, Berlin (2010)
Coello, C.A.C., Lamont, G.B., Veldhuizen, D.A.V.: Evolutionary algorithms for solving multi-objective problems (genetic and evolutionary computation). Springer, New York (2006)
Deb, K., Agrawal, S., Pratap, A., Meyarivan, T.: A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In: Lecture Notes in Computer Science, pp. 849–858 (2000)
Doerner K., Gutjahr W.J., Hartl R.F., Strauss C., Stummer C.: Pareto ant colony optimization: a metaheuristic approach to multiobjective portfolio selection. Ann. Oper. Res. 1–4(131), 79–99 (2004)
Dorigom, M., Socha, K.: An Introduction to Ant Colony Optimization. Technical Report, TR/IRIDIA/2006-010, Bruxelles, Belgium, Apr 2006
García S., Molina D., Lozano M., Herrera F.: 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. J. Heurist. 15, 617–644 (2009)
Gendreau M., Potvin J.Y.: Tabu search. In: Gendreau, M., Potvin, J.Y., Hillier, F.S. (eds.) Handbook of Metaheuristics, International Series in Operations Research and Management Science, vol. 146., pp. 41–59. Springer, USA (2010)
Glover F.: Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 13, 533–549 (1986)
Harrold, M.J., McGregor, J.D., Fitzpatrick, K.J.: Incremental testing of object-oriented class structures. In: 14th International Conference on Software Engineering, pp. 68–80. IEEE Computer Society, Melbourne, Australia, May 1992
Ishibuchi, H., Sakane, Y., Tsukamoto, N., Nojima., Y.: Evolutionary many-objective optimization by NSGA-II and MOEA/D with large populations. In: IEEE International Conference on Systems, Man, and Cybernetics, pp. 1758–1763. IEEE Computer Society, Oct 2009
Jaroenpiboonkit, J., Suwannasart, T.: Finding a test order using object-oriented slicing technique. In: 14th Asia-Pacific Software Engineering Conference, Washington, DC, USA, pp. 49–56 (2007)
Jaroenpiboonkit, J., Suwannasart, T.: Class ordering tool—a tool for class ordering in integration testing. In: International Conference on Advanced Computer Theory and Engineering, pp. 724–728, Dec 2008
Knowles, J., Thiele, L., Zitzler, E.: A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizers, vol. 214, Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Switzerland, Feb 2006
Kraft N.A., Lloyd E.L., Malloy B.A., Clarke P.J.: The implementation of an extensible system for comparison and visualization of class ordering methodologies. J. Syst. Softw. 79, 1092–1109 (2006)
Kung, D., Gao, J., Hsia, P., Toyoshima, Y., Chen, C.: A test strategy for object-oriented programs. In: 19th International Computer Software and Applications Conference. IEEE Computer Society, USA, Aug 1995
Mao, C., Lu, Y.: AICTO: an improved algorithm for planning inter-class test order. In: Proceedings of the The Fifth International Conference on Computer and Information Technology, pp. 927–931. CIT ’05, IEEE Computer Society, Washington, DC, USA (2005)
Melton H., Tempero E.: An empirical study of cycles among classes in Java. Empir. Softw. Eng. 12, 389–415 (2007)
Pareto V.: Manuel D’Economie Politique. Ams Press, Paris (1927)
Pasia, J.M., Hart, R., Doerner, K.F.: Solving a bi-objective flowshop scheduling problem by Pareto-ant colony optimization. In: Lecture Notes in Computer Science, pp. 294–305, Aug 2006
Pressman R.: Software Engineering: A Practitioner’s Approach. McGraw-Hill, New York (2006)
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, USA, Aug 1997
Traon Y.L., Jéron T., Jézéquel J.M., Morel P.: Efficient object-oriented integration and regression testing. IEEE Trans. Reliab. 49(1), 12–25 (2000)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Vergilio, S.R., Pozo, A., Árias, J.C.G. et al. Multi-objective optimization algorithms applied to the class integration and test order problem. Int J Softw Tools Technol Transfer 14, 461–475 (2012). https://doi.org/10.1007/s10009-012-0226-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-012-0226-1