Estabelecendo Sequências de Teste de Integração de Classes: Um Estudo Comparativo da Aplicação de Três Algoritmos Evolutivos Multiobjetivos
Resumo
Com o intuito de minimizar os custos associados à criação de stubs, durante o teste de integração de sistemas orientados a objetos é preciso determinar a melhor ordem de integração e teste das classes. Em alguns estudos recentes, Algoritmos Evolutivos Multiobjetivos (MOEA) têm resolvido eficientemente este problema porque eles consideram vários fatores que afetam o processo de construção de stubs. Geralmente esses fatores são conflitantes e por isto, nem sempre é possível obter uma solução (ordem) única. Dentre os trabalhos publicados, os MOEAs NSGA-II e SPEA2 alcançaram bons resultados para o problema em questão. No entanto, existem outros MOEAs que não foram aplicados neste contexto e que podem melhorar o desempenho desses dois algoritmos. Com este objetivo, o presente trabalho explora o uso do algoritmo PAES neste contexto. Foi realizado um experimento com quatro sistemas reais no qual o PAES foi comparado com o NSGA-II e o SPEA2. Os resultados mostram que ele consegue superar os outros dois MOEAs no caso do sistema mais complexo.
Referências
Assunção, W. K. G., Colanzi, T. E., Pozo, A. T. R., and Vergilio, S. R. (2011a). Establishing integration test orders of classes with several coupling measures. In Genetic and Evolutionary Computation Conference. To appear.
Assunção, W. K. G., Colanzi, T. E., Pozo, A. T. R., and Vergilio, S. R. (2011b). Reduzindo o custo do teste de integração com algoritmos evolutivos multiobjetivos e diferentes medidas de acoplamento. In VIII Encontro Nacional de Inteligência Artificial. Submitted.
Briand, L. and Labiche, Y. (2003). An investigation of graph-based class integration test order strategies. IEEE Transactions on Software Engineering, 29(7):594–607.
Briand, L. C., Feng, J., and Labiche, Y. (2002a). Experimenting with Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders. Carleton University, Technical Report SCE-02-03.
Briand, L. C., Feng, J., and Labiche, Y. (2002b). Using genetic algorithms and coupling measures to devise optimal integration test orders. In 14th International Conference on Software Engineering and Knowledge Engineering, Ischia, Italy.
Cabral, R., Pozo, A., and Vergilio, S. (2010). A Pareto Ant Colony Algorithm Applied to the Class Integration and Test Order Problem. In 22nd IFIP International Conference on Testing Software and Systems (ICTSS’10). Springer.
Cochrane, J. and Zeleny, M. (1973). Multiple Criteria Decision Making. University of South Carolina Press, Columbia.
Coello, C. A. C., Lamont, G. B., and Veldhuizen, D. A. V. (2006). Evolutionary Algorithms for Solving Multi-Objective Problems (Genetic and Evolutionary Computation). Springer-Verlag New York, Inc., Secaucus, NJ, USA.
Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. on Evolutionary Computation, 6(2):182 –197.
Durillo, J., Nebro, A., and Alba, E. (2010). The jMetal framework for multi-objective optimization: Design and architecture. In 2010 IEEE Congress on Evolutionary Computation(CEC), pages 4138–4325, Barcelona, Spain.
Gárcia, S., Molina, D., Lozano, M., and Herrera, F. (2009). 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. Journal of Heuristics, 15(6):617–644.
Knowles, J., Thiele, L., and Zitzler, E. (2006). A tutorial on the performance assessment of stochastic multiobjective optimizers. Technical report, Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Switzerland. Revised version.
Knowles, J. D. and Corne, D. W. (2000). Approximating the nondominated front using the Pareto archived evolution strategy. Evolutionary Computation, 8:149–172.
Kung, D., Gao, J., Hsia, P., Toyoshima, Y., and Chen, C. (1995a). A test strategy for object-oriented programs. In 19th International Computer Software and Applications Conference. IEEE Computer Society.
Kung, D. C., Gao, J., Hsia, P., Lin, J., and Toyoshima, Y. (1995b). Class firewal, test order and regression testing of object-oriented programs. Journal of Object-Oriented Program, 8(2).
Melton, H. and Tempero, E. (2007). An empirical study of cycles among classes in Java. Empirical Software Engineering, 12:389–415.
Pareto, V. (1927). Manuel D’Economie Politique. Ams Press, Paris.
Pozo, A., Bertoldi, G., Árias, J., Cabral, R., and Vergilio, S. (2011). Multi-objective optimization algorithms applied to the class integration and test order problem. Software Tools for Technology Transfer. Submitted.
Radziukyniene, I. and Zilinskas, A. (2008). Evolutionary Methods for Multi-Objective Portfolio Optimization. In Proceedings of the World Congress on Engineering 2008 Vol II.
Tai, K.-C. and Daniels, F. J. (1997). Test order for inter-class integration testing of object-oriented software. In 21st International Computer Software and Applications Conference, pages 602–607. IEEE Computer Society.
Traon, Y. L., Jéron, T., Jézéquel, J.-M., and Morel, P. (2000). Efficient object-oriented integration and regression testing. IEEE Transactions on Reliability, pages 12–25.
van Veldhuizen, D. A. and Lamont, G. B. (1999). Multiobjective evolutionary algorithm test suites. In Proceedings of the 1999 ACM Symposium on Applied Computing, SAC’99, pages 351–357, New York, NY, USA. ACM.
Zitzler, E., Laumanns, M., and Thiele, L. (2001). SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Technical Report 103, Gloriastrasse 35, CH-8092 Zurich, Switzerland.