A Pareto Ant Colony Algorithm Applied to the Class Integration and Test Order Problem

  • Rafael da Veiga Cabral
  • Aurora Pozo
  • Silvia Regina Vergilio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6435)


In the context of Object-Oriented software, many works have investigated the Class Integration and Test Order (CITO) problem, proposing solutions to determine test orders for the integration test of the program classes. The existing approaches based on graphs can generate solutions that are sub-optimal, and do not consider the different factors and measures that can affect the stubbing process. 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 solutions, is not always a trivial task, mainly for complex systems with a great number of measures. Therefore, we introduce, in this paper, a multi-objective optimization approach to better represent the CITO problem. The approach generates a set of good solutions that achieve a balanced compromise between the different measures (objectives). It was implemented by a Pareto Ant Colony (P-ACO) algorithm, which is described in detail. The algorithm was used in a set of real programs and the obtained results are compared to the GA results. The results allow discussing the difference between single and multi-objective approaches especially for complex systems with a greater number of dependencies among the classes.


Integration testing object-oriented software multi-objective ant colony algorithm 


  1. 1.
    Abdurazik, A., Offutt, J.: Coupling-based class integration and test order. In: International Workshop on Automation of Software Test. ACM, Shanghai (May 2006)Google Scholar
  2. 2.
    Binder, R.V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, Reading (2000)Google Scholar
  3. 3.
    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 (October 2002)Google Scholar
  4. 4.
    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, Ischia, Italy (July 2002)Google Scholar
  5. 5.
    Briand, L.C., Feng, J., Labiche, Y.: Experimenting with genetic algorithms and coupling measures to devise optimal integration test orders. In: Proceedings of Software Engineeing with Computational Intelligence, pp. 204–234. Kluwer Academic Publishers, Dordrecht (2003)Google Scholar
  6. 6.
    Briand, L.C., Labiche, Y.: An investigation of graph-based class integration test order strategies. IEEE Transactions on Software Engineering 29(7), 594–607 (2003)CrossRefGoogle Scholar
  7. 7.
    Doerner, K., Gutjahr, W.J., Hartl, R.F., Strauss, C., Stummer, C.: Pareto ant colony optimization: A metaheuristic approach to multiobjective portfolio selection. Annals of Operation Research (131), 79–99 (2004)Google Scholar
  8. 8.
    Dorigom, M., Socha, K.: An Introduction to Ant Colony Optimization. No. TR/IRIDIA/2006-010., Technical Report - IRIDIA (April 2006)Google Scholar
  9. 9.
    Harman, M.: The current state and future of search based software engineering. In: Proceedings of International Conference on Software Engineering / Future of Software Engineering 2007 (ICSE/FOSE 2007), May 20-26, pp. 342–357. IEEE Computer Society, Minneapolis (2007)Google Scholar
  10. 10.
    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 (May 1992)CrossRefGoogle Scholar
  11. 11.
    Knowles, J., Thiele, L., Zitzler, E.: A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizer. 214, Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Switzerland (February 2006)Google Scholar
  12. 12.
    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, Los Alamitos (August 1995)Google Scholar
  13. 13.
    Melton, H., Tempero, E.: An empirical study of cycles among classes in Java. Empirical Software Engineering 12, 389–415 (2007)CrossRefGoogle Scholar
  14. 14.
    Pareto, V.: Manuel D’Economie Politique. Ams Press, Paris (1927)Google Scholar
  15. 15.
    Pasia, J.M., Hart, R., Doerner, K.F.: Solving a bi-objective flowshop scheduling problem by Pareto-ant colony optimization. In: Dorigo, M., Gambardella, L.M., Birattari, M., Martinoli, A., Poli, R., Stützle, T. (eds.) ANTS 2006. LNCS, vol. 4150, pp. 294–305. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    Pressman, R.: Software Engineering: A Practitioner’s Approach. McGraw-Hill, New York (2006)Google Scholar
  17. 17.
    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, Los Alamitos (August 1997)Google Scholar
  18. 18.
    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)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2010

Authors and Affiliations

  • Rafael da Veiga Cabral
    • 1
  • Aurora Pozo
    • 1
  • Silvia Regina Vergilio
    • 1
  1. 1.Computer Science DepartmentFederal University of ParanáCuritibaBrazil

Personalised recommendations