Uma Contribuição para a Determinação de um Conjunto Essencial de Operadores de Mutação no Teste de Programas C

  • Ellen Francine Barbosa USP
  • Auri Marcelo Rizzo Vincenzi USP
  • José Carlos Maldonado USP

Resumo


Estudos empíricos têm mostrado que a Análise de Mutantes - um dos critérios baseados em erros - é bastante eficaz em revelar a presença de erros. Entretanto, seu alto custo de aplicação, decorrente principalmente do grande número de mutantes gerados, tem motivado a proposição de diversos critérios alternativos para a sua aplicação. Um deles visa a redução do número de mutantes gerados através da diminuição dos operadores de mutação utilizados. Um estudo relevante nesse sentido resultou na determinação de um conjunto essencial de operadores de mutação para a linguagem Fortran, mostrando-se que é possível reduzir o custo de aplicação do critério, preservando um alto escore de mutação em relação à Análise de Mutantes. Este trabalho tem como objetivo investigar alternativas pragmáticas para a aplicação do critério Análise de Mutantes e, nesse contexto, é proposto um procedimento para a determinação de um conjunto essencial de operadores de mutação para a linguagem C.

Palavras-chave: teste de software, análise de mutantes, conjunto essencial de operadores de mutação, ferramentas de teste

Referências

ACREE, A.T. et al.; Mutation Analysis, Technical Report GIT-ICS-79/08, Georgia Institute of Technology, Atlanta, GA, Setembro, 1979.

AGRAWAL, H. et al; Design of Mutant Operators for the C Programming Language, Technical Report SERC-TR-41-P, Software Engineering Research Center, Purdue University, West Lafayette, IN, Margo, 1989.

BARBOSA, E. F.; Uma Contribuição para a Determinação de um Conjunto Essencial de Operadores de Mutação no Teste de Programas C, Mestrado em Andamento, ICMC/USP, São Carlos, SP.

BUDD, T.A. et al.; "Theoretical and Empirical Studies on Using Prog Mutation to Test the Functional Correctness of Prog.", 7th ACM Symposium on Principles of Programming Languages, Janeiro, 1980.

BUDD, T.A.; Mutation Analysis: Ideas, Examples, Problems and Prospects, Computer Program Testing, North-Holand Publishing Company, 1981.

DELAMARO, M.E.; Proteum - Um Ambiente de Teste Baseado na Análise de Mutantes, Dissertação de Mestrado, ICMC/USP, São Carlos, SP, Outubro, 1993.

DEMILLO, R.A; Software Testing and Evaluation, The Benjamim/Commings Publishing Company, Inc, 1978.

DEMILLO, RA. er al; "An Extended Overview of the Mothra Testing Environment", in Proceedings of the Second Workshop on Software Testing, Verification and Analysis, Banff, Canadá, 1988.

HERMAN, PM.; "A Data Flow Analysis Approach to Program Testing", Australian Computer Journal, v. 8, n. 3, Novembro, 1976.

IEEE Standard Glossary of Software Engineering Terminology, Padrão 610.12, IEEE, 1990.

MALDONADO, J.C.; Critérios Potenciais Usos: Uma Contribuição ao Teste Estrutural de Software, Tese de Doutorado, DCA/FEE/UNICAMP, Campinas, SP, Julho, 1991.

MATHUR, A P.; "Performance, Effectiveness, and Reliability Issues in Software Testing", in Proceedings of the Fifieenth Annual International Computer Software and Applications Conference, Tóquio, Japão, 1991, pp. 604-605.

MATHUR, AP; WONG, W.E.; "Evaluation of the Cost of Alternate Mutation Strategies", VII SBES - Simpósio Brasileiro de Engenharia de Software, Rio de Janeiro, RJ, Outubro, 1993.

OFFUTT, A.J; ROTHERMEL, G.; ZAPF, C.; "An Experimental Evaluation of Selective Mutation", in Proceedings of the 15th International Conference on Software Engineering, Baltimore, MD, Maio, 1993, pp. 100-107.

OFFUTT, AJ. et al; "An Experimental Determination of Sufficient Mutant Operators", ACM Transactions on Software Engineering Methodology, v. 5, n. 2, Abril, 1996, pp. 99-118.

PAULK, M.C. et al.; Capability Maturity Model for Software - versão 1.1, SEI "Technical Report CMU/SEI-93-TR-24, Fevereiro, 1993.

RAPPS, S.; WEYUKER, EJ; "Selecting Software Test Data Using Data Flow Information", IEEE Transactions on Software Engineering, SE-11(4), Abril, 1985.

SOUZA, S.R.S.; Avaliação do Custo e Eficácia do Critério Análise de Mutantes na Atividade de Teste de Software, Dissertação de Mestrado, ICMC/USP, São Carlos, SP, Junho, 1996.

WEYUKER, E.J.; "The Cost of Data Flow Testing: An Empirical Study", IEEE Transactions on Software Engineering, SE-16(2), Fevereiro, 1990, pp. 121-128.

WONG, W.E.; On Mutation and Data Flow, Tese de Doutorado, Software Engineering Research Center - Purdue University, West Lafayette, IN, Dezembro, 1993.

WONG, W.E. et al; "Constrained Mutation in C Programs", VIII Simpósio Brasileiro de Engenharia de Software, Curitiba, PR, Outubro, 1994, pp. 439-452.

WONG, W.E.; MATHUR, A.; "Reducing the Cost of Mutation Testing: An Empirical Study", J. Systems Software, v.31, 1995, pp. 185-196.

WONG, W.E.; MATHUR, A.; "Fault Detection Effectiveness of Mutation and Data Flow Testing", Software Quality Journal, V. 4, 1995, pp.69-83.

WONG, W.E. er al; "A Comparison of Selective Mutation in C and Fortran", Workshop do Projeto Validação e Teste de Sistemas de Operação, Aguas de Lindóia, SP, Janeiro, 1997, pp. 71-84.

WONG, W.E. et al; "Reducing the Cost of Regression Testing by Using Selective Mutation", VIII CITS - International Conference on Software Technology, Curitiba, PR, Junho, 1997, pp. 11-13.
Publicado
13/10/1998
BARBOSA, Ellen Francine; VINCENZI, Auri Marcelo Rizzo; MALDONADO, José Carlos. Uma Contribuição para a Determinação de um Conjunto Essencial de Operadores de Mutação no Teste de Programas C. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 12. , 1998, Maringá/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1998 . p. 103-120. DOI: https://doi.org/10.5753/sbes.1998.24022.