Reduzindo o Custo do Teste de Integração com Algoritmos Evolutivos Multiobjetivos e Diferentes Medidas de Acoplamento

  • Wesley Klewerton Guez Assunção UFPR
  • Thelma Elita Colanzi UFPR / UEM
  • Aurora Trinidad Ramirez Pozo UFPR
  • Silvia Regina Vergilio UFPR

Resumo


Para realizar o teste de software orientado a objetos é necessário determinar uma ordem para integrar e testar as classes que permita minimizar o número de stubs necessários para simular o comportamento de classes ainda não disponíveis durante a integração. O uso de algoritmos multiobjetivos permite considerar vários fatores e medidas que afetam a criação de stubs, e que por serem geralmente conflitantes impedem a obtenção de uma única solução. Em estudos realizados comparando diferentes algoritmos, o NSGA-II, um algoritmo evolutivo multiobjetivo (MOEA), tem obtido os melhores resultados. No entanto, existem outros MOEAs que não foram aplicados neste contexto e que podem melhorar o desempenho do NSGA-II. Além disso, os trabalhos existentes costumam utilizar somente duas medidas de acoplamento: número de métodos e de atributos. Considerando estas limitações, este artigo explora além do NSGA-II, o MOEA SPEA2 para resolver o problema em sistemas reais, considerando quatro medidas de acoplamento. Duas outras medidas são introduzidas: número de diferentes tipos de retorno e de diferentes tipos de parâmetros, em adição às duas medidas tradicionalmente utilizadas. Os resultados permitem a comparação entre os algoritmos, e mostram que ambos são eficientes para resolver o problema, já que encontram soluções de custo de teste mínimo para alguns sistemas, mesmo considerando um número maior de objetivos.

Referências

Abdurazik, A. and Offutt, J. (2006). Coupling-based Class Integration and Test Order. In Proceedings of The 2006 International Workshop on Automation of Software Test, pages 50–56.

Bansal, P., Sabharwal, S., and Sidhu, P. (2009). An investigation of strategies for finding test order during integration testing of object oriented applications. In Proceedings of International Conference on Methods and Models in Computer Science 2009, pages 1–8. IEEE.

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. (2002). Experimenting with Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders. Carleton University, Technical Report SCE-02-03.

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.

Kung, D. C., Gao, J., Hsia, P., Lin, J., and Toyoshima, Y. (1995). Class firewal, test order and regression testing of object-oriented programs. J. of Object-Oriented Progr., 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 integratio n 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.

Ré, R. and Masiero, P. C. (2007). Integration testing of aspect-oriented programs: a characterization study to evaluate how to minimize the number of stubs. In Brazilian Symposium on Software Engineering, pages 411–426.

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.

Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C. M., and da Fonseca, V. G. (2003). Performance assessment of multiobjective optimizers: An analysis and review. IEEE Transactions on Evolutionary Computation, 7:117–132.
Publicado
19/07/2011
ASSUNÇÃO, Wesley Klewerton Guez; COLANZI, Thelma Elita; POZO, Aurora Trinidad Ramirez; VERGILIO, Silvia Regina. Reduzindo o Custo do Teste de Integração com Algoritmos Evolutivos Multiobjetivos e Diferentes Medidas de Acoplamento. In: ENCONTRO NACIONAL DE INTELIGÊNCIA ARTIFICIAL E COMPUTACIONAL (ENIAC), 8. , 2011, Natal/RN. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2011 . p. 653-664. ISSN 2763-9061.

Artigos mais lidos do(s) mesmo(s) autor(es)

1 2 > >>