Aplicação do Critério Análise de Mutantes na Validação de Especificações Baseadas em Statecharts

  • Sandra C. P. F. Fabbri UFSCar
  • José Carlos Maldonado USP
  • Paulo Cesar Masiero USP

Resumo


A qualidade da atividade de VV&T — Verificação, Validação e Teste — de especificações é fundamental no processo de desenvolvimento de software. Técnicas e critérios de teste têm sido investigados no contexto de VV&T de especificações do aspecto comportamental de Sistemas Reativos fornecendo mecanismos para a avaliação da qualidade dessa atividade. Este artigo apresenta a aplicação do critério de teste Análise de Mutantes, um critério desenvolvido originalmente para o teste de programas, para a atividade de teste de especificações que utilizam a técnica Statecharts. A aplicação desse critério é baseada em um conjunto de operadores de mutação. Assim, apresentam-se os operadores de mutação definidos para Statecharts, que estão divididos em três classes, bem como estratégias de abstração de componentes de Statecharts que permitem conduzir a atividade de validação de forma incremental, explorando aspectos particulares dessa técnica, como hierarquia, ortogonalidade e história.
Palavras-chave: Análise de Mutantes, Statecharts, Validação, Sistemas Reativos, Teste de Software

Referências

Agraval, E; DeMilo, RA; Hathaway, R; Hu Wm; Hsu,W.; Krauser, E; Martin, RJ; Mathur, A.P.; Spafford, E. "Design of Mutant Operators for the C Programming Language", Technical Report SERC-TR-4I-P, Software Eng. Rescarch Center, Purdue University, Março, 1989.

Budd, T.A.; DeMillo, R.A.; Lipton, R.J.; Sayward, F.G. "Theoretical and Empirical Studies on Using Prog Mutation to Test the Functional of Prog", in 7th ACM Sympostum on Principles of Programming Languages, Janeiro, 1980

Choi, B.J.; DeMillo, R.A.; Krawser, E.W.; Martin, R.J.; Mathar, A.P.; Offut, A-J.; Pam, EL; Spafford, E.H. "The Mothra Tool Set", in Proceedings of the 22nd Hawaii International Conference on Systems and Software, Kona, Hawail, Janeiro, 1989.

Chow, T.S. "Testing Software Design Modeled by Finite-State Machines", IEEE Transactions on Software Engineering, SE(4(3)), pp. 178-187, 1978.

DeMillo, R.A.; Lipton, R.J.; Sayward, F.G. "Hints on Test Data Selection: Help for the Practicing Programmer", Computer, Vol.11(4), pp.34-41, 1978.

DeMillo, R.A. "Mutation Analisys as a Tool for Software Quality Assurance", im Proc. of COMPSAC 80, Chicago-IL, Outubro, 1980.

Fabbri, S.C.P.F.; Maldonado, J.C.; Masiero, P.C.; Delamaro, M.E. "Análise de Mutantes Bascada em Máquinas de Estado Finito", in Anais do 11º Simpósio Brasileiro de Redes de Computadores, Campinas, Maio, 1993.

Fabbri, S.C.P.F.; Delamaro, M.E.; Maldonado, J.C.; Masiero,P.C. "Proteum/FSM: Especificação de uma Ferramenta para Apoiar a Validação de Máquinas de Estado Finito pelo Critério Análise de Mutantes", in "Anais do 12º Simpósio Brasileiro de Redes de Computadores, pp.284-302, Curitiba, Maio, 1994a.

Fabbri, S.C.P.F.; Maldonado, J.C.; Delamaro, M.E.; Masiero, P.C. "Mutation Analysis Testing for Finite State Machines", in Proc. ISSRE'94 - Fifth International Symposium on Software Reliability Engineering, pp.220-229, California, Novembro, 1994b.

Fabbri, S.C.P.F.; Maldonado, J.C.; Masiero, P.C.; Delamaro, ME. "Aplicação do Critério Análise de Mutantes na Validação de Especificações Bascadas em Redes de Petri", in Anais do VII! Simpósio Brasileiro de Engenharia de Software, Curitiba, Outubro, 1994c.

Fabbri, S.C.P.F.; Maldonado, J.C.; Masiero, P.C.; Delamaro, M.E.; Wong, E. "Mutation Testing Applied to Validate Specifications Based on Petri Nets", im Proc. FORTE '95 - 8h International IFIP Conference on Formal Description Techniques for Distributed Systems and Communications Protocols, Montreal, Canada, Outubro, 1995a.

Fabbri, S.C.P.F.; Maldonado, J.C.; Delamaro, M.E.; Masiero, P.C. "Proteum/FSM - Uma Ferramenta para Apoiar a Validação de Máquinas de Estados Finitos pelo Critério Análise de Mutantes", in Anais do IX Simpósio Brasileiro de Engenharia de Software, pp.475-478, Recife, Pernambuco, Outubro, 1995b.

Fabbri, S.C.P.F. "A Análise de Mutantes no Contexto de Sistemas Reativos: uma Contribuição para o Estabelecimento de Estratégias de Teste e Validação", Tese de Doutorado, IFSC/USP, São Carlos, SP, 1996.

Fabbri, S.C.P.F.; Maldonado,.C.; Masiero, P.C.- "Mutation Analysis in the Context of Reactive System Specification and Validation", in Anais do SQM'97 - 5th Annual International Conference on Software Quality Management, Bath, UK, Março, 1997.

Gabos, D.; Stiubiener, S. "Aspectos de Metodologia de Geração de Sequências de Teste para Protocolos de Comunicação de Dados", in Anais 8º Simpósio de Redes de Computadores, 1990.

Gill, A. Introduction to the Theory of Finite-State Machines, New York, McGraw-Hill, 1962.

Harel, D. "Statecharts: A Visual Formalism for Complex Systems", Science of Computer Programming, Vol. 8, pp 231-274, 1987a.

Harel, D. "Statecharts: On the Formal Semantics of Statecharts", in Proc. 2nd IEEE Symposium on Logic in Computer Science, Ithaca, New York, 1987b.

Harel, D. "Biting the Silver Bullet - Toward a Brighter Future for Systems Development", Computer IEEE, pp.8-20, Janeiro, 1992.

Horgan, J.R.; Mathur, A.P. "Assessing Testing Tools in Rescarch and Education", IEEE Software, Vol. 9, N. 3, Maio, 1992.

Maldonado, J.C. "Critérios Potenciais Usos: Uma Contribuição ao Teste Estrutural de Software", Tese de Doutorado, FEE/Unicamp, Campinas - SP, 1991.

Masiero, P.C.; Fortes, R.P.M.; Batista Neto,J.E.S. "Edição e Simulação do Aspecto Comportamental de Sistemas de Tempo Real", in Anais do XI Congresso Nacional da SBC, XVIII SEMISH, Santos, pp. 45-61, Agosto, 1991.

Masiero, P.C.; Maldonado, J.C.; Boaventura, LG. "A Reachability Tree for Statecharis and Analysis of Some Properties", Information and Software Technology, VoL.36 (10), pp.615-624, 1994.

Mathur, A.P.; Krauser, E.W. "Modeling Mutation on Vector Processor", im Proceedings of the 2nd Workshop on Software Testing, Verification and Analysis, Banff, Canada, 1988.

Orfutt, A.J. "Investigations of the Software Testing Coupling Effect", ACM Transactions on Software Engineering Methodology, 11), pp.3-18, Janeiro, 1992.

Peterson, J.L. Petri Nets, Computing Surveys, VoL.9, N. 3, Setembro, 1977.

Petrenko, A.; Bochmann, G.v. "On Fault Coverage of Tests for Finite State Specifications", http://www.iro.umontreal.ca/pub/teleinfo/TRs/Petr96b.ps.gz, 1996.

Pressman, R.S. Software Engineering - A Procidaner Approecd (3rd edition), McGraw-Hill, 1992.

Probert, R.L.; Guo, F. "Mutation Testing of Protocols: Principles and Preliminary Experimental Results", in Proceedings of the IFIP TC6 Third International Workshop on Protocol Test Systems, North-Holland, pp. 57-76, 1991.

Wang, C.J.; Liu, M.T. "Generating Test Cases for EFSM with Given Fault Model", IEEE INFOCOM 93 - 12th Annual Joint Conference of the IEEE Computer and Commun. Societies, Vol.2, pp. 774-781, 1993.

Weyuker, E.; Goradia, T.; Singh, A. "Automatically Generating Test Data from a Boolean Specification", IEEE Trans. on Software Engineering, Vol. 20, N. 5, pp.353-363, Maio, 1994.

Wing, J.M. "A Specifier's Introduction to Formal Methods", IEEE Computer, pp.8-22, Setembro, 1990.
Publicado
15/10/1997
FABBRI, Sandra C. P. F.; MALDONADO, José Carlos; MASIERO, Paulo Cesar. Aplicação do Critério Análise de Mutantes na Validação de Especificações Baseadas em Statecharts. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 11. , 1997, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1997 . p. 429-444. DOI: https://doi.org/10.5753/sbes.1997.24063.