Uma abordagem para redução do custo do Teste de Mutação utilizando Redes Neurais
Resumo
Durante o processo de criação de um software, é essencial conduzir atividades com o objetivo de revelar a existência de possíveis defeitos. Nesse contexto, as atividades de Teste de Software permitem o fornecimento de evidências da confiabilidade do software. Para tanto, o Teste de Software possui várias técnicas que podem ser aplicadas com suas diferentes características. Uma das técnicas existentes é o Teste Baseado em Defeitos em que o principal critério dessa técnica é o Teste de Mutação. O Teste de Mutação ocorre por meio da criação de programas mutantes se baseando no programa original, realizando alterações sintáticas no programa com objetivo de alterar a semântica. Se um caso de teste detectar o mutante do programa original, ele possui maior probabilidade de revelar defeitos. Porém, o Teste de Mutação possui algumas limitações, tais como a geração de mutantes equivalentes, a geração de mutantes redundantes e também a grande geração de mutantes. Recentemente, técnicas de Aprendizado de Máquina têm sido aplicadas para auxiliar o Teste de Software e também o Teste de Mutação. Este trabalho de mestrado tem como principal objetivo de projetar uma abordagem de redução desse custo do teste de mutação. Dessa maneira, pretende-se utilizar técnicas de Aprendizado de Máquina e Redes Neurais para desenvolver a abordagem. Tal abordagem permitirá uma melhora na eficiência da aplicação do critério permitindo uma redução da geração de mutantes.
Palavras-chave:
Teste de Software, Teste de Mutação, Aprendizado de Máquina, Redes Neurais
Referências
Ammann, P., Delamaro, M., and Offutt, J. (2014a). Establishing theoretical minimal sets of mutants. In ICST, pages 21–30. cited By 72.
Ammann, P., Delamaro, M. E., and Offutt, J. (2014b). Establishing theoretical minimal sets of mutants. In Proceedings of the 2014 IEEE International Conference on Software Testing, Verification, and Validation, ICST ’14, page 21–30, USA. IEEE Computer Society.
Ammann, P. and Offutt, J. (2008). Introduction to software testing. Cambridge University Press.
Bertolino, A. (2007). Software testing research: Achievements, challenges, dreams. In Future of Software Engineering, pages 85–103.
Chekam, T. T., Papadakis, M., Bissyandé, T. F., Le Traon, Y., and Sen, K. (2018). Selecting fault revealing mutants. Empirical Software Engineering, pages 1–54.
Delamaro, M., Jino, M., and Maldonado, J. (2017a). Introdução ao Teste de Software. Elsevier Editora Ltda.
Delamaro, M. E., Barbosa, E. F., Vincenzi, A. M. R., and Maldonado, J. C. (2017b). Introdução ao Teste de Software – Capítulo 5 - Teste de Mutação. In Introdução ao Teste de Software, pages 77–116. Elsevier Editora Ltda.
Introdução ao Teste de Software – Capítulo 5 - Teste de Mutação. In Introdução ao
Delamaro, M. E., Maldonado, J. C., and Mathur, A. (1996). Proteum-a tool for the assessment of test adequacy for c programs user’s guide. In PCS, volume 96, pages 79–95.
Durelli, V. H., Durelli, R. S., Borges, S. S., Endo, A. T., Eler, M. M., Dias, D. R., and Guimaraes, M. P. (2019). Machine learning applied to software testing: A systematic mapping study. IEEE Transactions on Reliability, 68(3):1189–1212.
Faceli, K., Lorena, A. C., Gama, J., Carvalho, A. C. P. d. L., et al. (2011). Inteligência artificial: Uma abordagem de aprendizado de máquina.
Hunter, C. and Strooper, P. (2001). Systematically deriving partial oracles for testing concurrent programs. In Australian Computer Science Communications, pages 83–91.
Madeyski, L., Orzeszyna, W., Torkar, R., and Jozala, M. (2014). Overcoming the equivalent mutant problem: A systematic literature review and a comparative experiment of second order mutation. IEEE Transactions on Software Engineering, 40(1):23–42.
Márki, A. (2019). Towards minimal mutation analysis: Using the approximated dominator set of mutants.
Myers, G. J. (2006). The art of software testing. John Wiley & Sons.
Papadakis, M., Kintis, M., Zhang, J., Jia, Y., Traon, Y. L., and Harman, M. (2019). Chapter six - mutation testing advances: An analysis and survey. In Memon, A. M., editor, Advances in Computers, volume 112 of Advances in Computers, pages 275 – 378. Elsevier.
Wong, W. and Mathur, A. P. (1995). Reducing the cost of mutation testing: An empirical study. Journal of Systems and Software, 31(3):185 – 196.
Ammann, P., Delamaro, M. E., and Offutt, J. (2014b). Establishing theoretical minimal sets of mutants. In Proceedings of the 2014 IEEE International Conference on Software Testing, Verification, and Validation, ICST ’14, page 21–30, USA. IEEE Computer Society.
Ammann, P. and Offutt, J. (2008). Introduction to software testing. Cambridge University Press.
Bertolino, A. (2007). Software testing research: Achievements, challenges, dreams. In Future of Software Engineering, pages 85–103.
Chekam, T. T., Papadakis, M., Bissyandé, T. F., Le Traon, Y., and Sen, K. (2018). Selecting fault revealing mutants. Empirical Software Engineering, pages 1–54.
Delamaro, M., Jino, M., and Maldonado, J. (2017a). Introdução ao Teste de Software. Elsevier Editora Ltda.
Delamaro, M. E., Barbosa, E. F., Vincenzi, A. M. R., and Maldonado, J. C. (2017b). Introdução ao Teste de Software – Capítulo 5 - Teste de Mutação. In Introdução ao Teste de Software, pages 77–116. Elsevier Editora Ltda.
Introdução ao Teste de Software – Capítulo 5 - Teste de Mutação. In Introdução ao
Delamaro, M. E., Maldonado, J. C., and Mathur, A. (1996). Proteum-a tool for the assessment of test adequacy for c programs user’s guide. In PCS, volume 96, pages 79–95.
Durelli, V. H., Durelli, R. S., Borges, S. S., Endo, A. T., Eler, M. M., Dias, D. R., and Guimaraes, M. P. (2019). Machine learning applied to software testing: A systematic mapping study. IEEE Transactions on Reliability, 68(3):1189–1212.
Faceli, K., Lorena, A. C., Gama, J., Carvalho, A. C. P. d. L., et al. (2011). Inteligência artificial: Uma abordagem de aprendizado de máquina.
Hunter, C. and Strooper, P. (2001). Systematically deriving partial oracles for testing concurrent programs. In Australian Computer Science Communications, pages 83–91.
Madeyski, L., Orzeszyna, W., Torkar, R., and Jozala, M. (2014). Overcoming the equivalent mutant problem: A systematic literature review and a comparative experiment of second order mutation. IEEE Transactions on Software Engineering, 40(1):23–42.
Márki, A. (2019). Towards minimal mutation analysis: Using the approximated dominator set of mutants.
Myers, G. J. (2006). The art of software testing. John Wiley & Sons.
Papadakis, M., Kintis, M., Zhang, J., Jia, Y., Traon, Y. L., and Harman, M. (2019). Chapter six - mutation testing advances: An analysis and survey. In Memon, A. M., editor, Advances in Computers, volume 112 of Advances in Computers, pages 275 – 378. Elsevier.
Wong, W. and Mathur, A. P. (1995). Reducing the cost of mutation testing: An empirical study. Journal of Systems and Software, 31(3):185 – 196.
Publicado
19/10/2020
Como Citar
NOGUEIRA, Lucas Lagôa; DELAMARO, Márcio Eduardo.
Uma abordagem para redução do custo do Teste de Mutação utilizando Redes Neurais. In: WORKSHOP DE TESES E DISSERTAÇÕES (WTDSOFT) - CONGRESSO BRASILEIRO DE SOFTWARE: TEORIA E PRÁTICA (CBSOFT), 11. , 2020, Evento Online.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2020
.
p. 22-28.
DOI: https://doi.org/10.5753/cbsoft_estendido.2020.14605.