DOI QR코드

DOI QR Code

Generating Test Data for Programs with Flag Variables using Goal-oriented Concolic Testing

목적 지향 콘콜릭 테스팅을 이용한 플래그 변수가 있는 프로그램에 대한 테스트 데이터 생성

  • Received : 2011.11.07
  • Accepted : 2012.02.10
  • Published : 2012.02.29

Abstract

This paper presents a goal-oriented test data generation technique that specializes concolic testing. The proposed technique, referred to as GCT (Goal-oriented Concolic Testing) produces test inputs which execute a specific target. Concolic testing can be seen as the brute force approach to search the space of all possible paths until a required test input is found. In contrast, GCT restricts the number of program paths that are explored by using data flow information to identify statements that should be executed beforehand in order for the target to be executed. We conducted experiments to evaluate the performance of GCT with programs with flag variables to show its effectiveness.

이 논문은 콘콜릭 테스팅을 특화한 목적 지향 테스트 데이터 생성 방법을 제안한다. GCT(Goal-oriented Concolic Testing)라 불리는 제안된한 특정 목표를 실행하는 테스트 입력을 생성한다. 콘콜릭 테스팅은 요구되는 테스트 입력을 발견할 때 까지 모든 가능한 경로 공간을 탐색하는 브루트 포스 방식으로 간주할 수 있다. 대조적으로 GCT는 자료 흐름 정보를 활용하여 목표가 실행되기 위해 먼저 수행되어야 하는 문장들을 식별하여 탐색되는 프로그램 경로의 수를 제한한다. 플래그 변수가 있는 실험을 통해 GCT의 효과성을 보인다.

Keywords

References

  1. P. Godefroid, N. Klarlund, K. Sen, "DART: Directed automated random testing", Proceedings of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation, Chicago, Illinois, pp. 213-223, 2005.
  2. J. Burnim, K. Sen, "Heuristics for dynamic test generation", Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering , pp. 443-446, 2008.
  3. R. Santelices, P. K. Chittimalli, T. Apiwattanapong, A. Orso, M. J. Harrold, "Test suite augmentation for evolving software", Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering, pp. 218-227, 2008.
  4. N. Rungta, E. G. Mercer, W. Visser "Efficient testing of concurrent programs with abstraction -guided symbolic execution", Proceedings of SPIN Workshop on Model Checking of Software, Grenoble, France, pp. 218-227, 2009.
  5. I.S. Chung. J. Park, "Goal-oriented concolic testing", Journal of KIISE: Software and Applications, vol. 37, n. 10, pp. 768-772, 2010.
  6. L. Bottaci, "Instrumenting programs with flag variables for test data search by genetic algorithm", Proceedings of the Genetic and Evolutionary Computation Conference, pp. 1337-1342, 2002.
  7. P. McMinn, M. Holcombe, Evolutionary testing using an extended chaining approach, Evolutionary Computation, vol. 14, no. 1, pp. 41-64, 2006. https://doi.org/10.1162/evco.2006.14.1.41
  8. R. Ferguson, B. Korel, The chaining approach to software test data generation, ACM Transactions on Software Engineering and Methodology, vol. 5, no. 1, pp. 63-86, 1996. https://doi.org/10.1145/226155.226158
  9. S. Muchnick, N. Johnes, Program Flow Analysis, Theory and Applications, Englewood Cliffs, NJ, Prentice-Hall International, 1981.