Selection and Evaluation of Test Data Sets Based on Genetic Programming

  • Maria Claudia F. P. Emer UFPR
  • Silvia Regina Vergilio UFPR

Resumo


A testing criterion is a predicate to be satisfied and generally addresses two important questions related to: 1) the selection of test cases capable of revealing as many faults as possible; and 2) the evaluation of a test set to consider the test ended. Studies show that fault based criteria, such as mutation testing, are very efficacious, but very expensive in terms of the number of test cases. Mutation testing uses mutation operators to generate alternatives for the program P under test. The goal is to derive test cases to producing different behaviours in P and its alternatives. This approach usually does not allow the test of interaction between faults since the alternative differs from P by a simple modification. This work explores the use of Genetic Programming (GP) to derive alternatives for testing P and describes two GP-based test procedures for selection and evaluation of test data. Experimental results show the GP approach applicability and allow comparison with mutation testing.

Referências

Proceedings of Genetic and Evolutionary Computation Conference. Morgan Kaufmann Publishers, 2001/2002.

F. Bergadano and D. Gunetti. Inductive Logic Programming: From Machine Learning to Software Engineering. MIT Press, 1995.

T.A. Budd and D. Angluin. Two notions of correctness and their relation to testing. Acta Informatica, Vol. 18(1):31-45, November 1982.

C. Darwin. On the Origin of Species by Means of Natural Selection or the Preservation of Favoured Races in the Struggle for Life. 1859.

R.A. De Millo, D.C. Gwind, and K.N. King. An extended overview of the mothra software testing environment. In Proc. of the Second Workshop on Software Testing, Verification and Analysis, pages 142-151. Computer Science Press, Banff - Canada, July 19-21 1988.

R.A. De Millo, R.J. Lipton, and F.G. Sayward. Hints on test data selection: Help for the practicing programmer. IEEE Computer, Vol. C-11:34-41, April 1978.

R.A. De Millo and A.J. Offutt. Constraint-based automatic test data generation. IEEE Transactions on Software Engineering, Vol. SE-17(9):900-910, September 1991.

M. E. Delamaro and J.C. Maldonado. A tool for the assesment for test adequacy for c programs. In Proceedings of the Conference on Performability in Computing Systems, pages 79-95. East Brunswick, New Jersey, USA, July 1996.

M.C.F.P. Emer. Seleção e Avaliação de Dados de Teste Baseadas em Programação. Master Thesis, DInf - UFPR, Curitiba-PR, March 2002. (in Portuguese).

M.C.F.P. Emer and S.R. Vergilio. Gptest: A testing tool based on genetic programming. In Proceedings of Genetic and Evolutionary Conference - GECCO, pages 1343-1350. Morgan Kaufammn Publishers, New York, July 2002.

M.C.F.P. Emer and S.R. Vergilio. Software test using genetic programming. In Annals of Software Engineering-Special Volume. 2002. (submitted).

F.G. Frankl. The use of Data Flow Information for the Selection and Evaluation of Software Test Data. PhD Thesis, Department of Computer Science, New York University, New York, U.S.A, October 1987.

J.H. Holland. Adaptation in Natural and Artificial Systems. MIT Press, 1992.

W.E. Howden. Weak mutation testing and completeness of test sets. IEEE Transactions on Software Engineering, Vol. SE-8(4):371-379, July 1982.

J.R Koza. Genetic Programming: On the Programming of Computers by Natural Section. MIT Press, Cambridge, MA, 1992.

J.C. Maldonado. Critérios Potenciais Usos: Uma Contribuição ao Teste Estrutural de Software. Doctorate Dissertation, DCA/FEEC/Unicamp, Campinas - SP, Brazil, July 1991. (in Portuguese).

A.P Mathur and W.E. Wong. Evaluation of the cost of alternate mutation strategies. In VII Simpósio Brasileiro de Engenharia de Software, pages 320-375. Rio de Janeiro-Brazil, October 1993.

C.C. Michael, G. McGraw, and M.A. Schatz. Generating software test data by evolution. IEEE Trans. on Soft. Engin., Vol 27(12):1085-1110, Dec. 2001.

L. J. Morell. Theoretical insights into fault-based testing. In Proc. of Workshop on Software Testing, Verification and Analysis, pages 45-62. Banff, Canada, 1988.

C.V. Ramamoorthy, F. H. Siu-Bun, and W.T. Chen. On automated generation of program test data. IEEE Transactions on Software Engineering, Vol. SE-2(4):293-300, December 1976.

S. Rapps and E.J. Weyuker. Data flow analysis techniques for test data selection. In Proceedings of International Conference on Software Engineering. Tokio - Japan, September 1982.

E. Spinoza and et al. Chameleon: A generic tool for genetic programming. In Proceedings of the Brazilian Computer Society Conference. Fortaleza, Brazil, August 2001.

S.R. Vergilio, J.C. Maldonado, and M. Jino. Infeasible paths within the context of data flow based criteria. In VI International Conference on Software Quality, pages 310-321. Ottawa-Canada, October 1996.

E.J. Weyuker. Assessing test data adequacy through program inference. ACM Trans. on Programming Languages and Systems, Vol. SE-5(4):641-655, 1983.

E.J. Weyuker. An empirical study of the complexity of data flow testing. In Proceedings of the Second Workshop on Software Testing, Verification and Analysis, pages 188-195. Computer Science Press, Banff - Canada, July 1988.

W.E. Wong, A.P. Mathur, and J.C. Maldonado. Mutation versus all-uses: An empirical evaluation of cost, strength and effectiveness. In Software Quality and Productivity - Theory, Practice, Education and Training. Hong Kong, December 1994.
Publicado
16/10/2002
EMER, Maria Claudia F. P.; VERGILIO, Silvia Regina. Selection and Evaluation of Test Data Sets Based on Genetic Programming. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 16. , 2002, Gramado/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2002 . p. 82-97. DOI: https://doi.org/10.5753/sbes.2002.23940.