본문 바로가기
KERD
논문KCI 등재

다단계 스택 지향 포인터가 있는 프로그램 테스트를 위한 테스트 데이터 자동 생성

Automated Test Data Generation for Testing Programs with Multi-level Stack-directed Pointers

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류공학

초록

최근에 콘콜릭 테스트이라 불리는 새로운 테스팅 방법이 많은 관심을 받고 있다. 콘콜릭 테스팅은 높은 테스트 커버리지를 달성하기 위해실제 프로그램 수행과 심볼릭 수행을 결합하여 테스트 데이터를 생성한다. CREST는 콘콜릭 테스팅을 구현한 대표적인 open-source 테스트 도구이다. 그러나 현재 CREST는 입력으로 정수형만 다룬다. 이 논문은 포인터형인 입력이 존재하는 경우에 자동 테스트 데이터 생성을 위한 새로운 규칙을 제안한다. 이 규칙들은 C 프로그램에서 주로 사용되는 다단계 스택 지향 포인터를 효과적으로 처리한다. 또한, 이 논문에서는 제안된 규칙을 구현한 vCREST라 불리는 도구에 대해 기술하고 C 프로그램에 적용한 결과도 함께 기술한다.

Abstract

Recently, a new testing technique called concolic testing receives lots of attention. Concolic testing generates test data by combining concrete program execution and symbolic execution to achieve high test coverage. CREST is a representative open-source test tool implementing concolic testing. Currently, however, CREST only deals with integer type as input. This paper presents a new rule for automated test data generation in presence of inputs of pointer type. The rules effectively handles multi-level stack-directed pointers that are mainly used in C programs. In addition, we describe a tool named vCREST implementing the proposed rules together with the results of applying the tool to some C programs.

참고문헌 (18)

  1. P. Godefroid, "DART:Directed automated random testing", Proc. of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation (PLDI) (2005)
  2. J. Clarke, "Reformulating Software Engineering as a Search Problem", IEE Proceedings-Software, 5(1), pp.161~175 (2003)
  3. J.Edvardsson, "A Survey on Automatic Test Data Generation", Proc. the Second Conf. on Computer Science and Engineering, pp.21~28 (1999)
  4. J. Burnim, "Heuristics for Dynamic Test Generation", 23rd IEEE, 2008, ~
  5. I. S. Chung, "Generating Input Data Structures for Automated Program Testing", Software Testing, Verification and Reliability, 19(1), pp.3~36 (2009)
  6. B.Korel, "Automated Software Test Data Generation", IEEE Trans. onSoftware Eng, 16(8), pp.870~879 (1990)
  7. S.Visvanathan, "Generating Test Data for Functions with Pointer Inputs", Proc. the 17th IEEE International Conf. Automated Soft. Eng, pp.149~160 (2002)
  8. C. Lapkowski, "Extended SSA Numbering: Introducing SSA properties to Languages with Multi-level Pointers", ACAPS Tecnical Memo 102, ~ (1996)
  9. A. Gotlieb, "Goal-oriented Test Data Generation for Pointer Programs", Information and Software Technology, 49(Issues9), pp.1030~1044 (2007)
  10. A. J. Offutt, "The Dynamic Domain Reduction Procedure for Test Data Generation", Softw., Pract. Exper, 29(2), pp.167~193 (1999)
  11. C.Meudec, "ATGen:Automatic Test Data generation using Constraint Logic Programming and Symbolic Execution", Proc. IEEE, 2000, 22~31
  12. F. Roger, "The Chaining Approach for Software Test Data Generation", ACM Trans. on Soft. Eng. Methodology, 5(1), pp.63~86 (1996)
  13. C. C. Michael, "Automated Software Test Data Generation for Complex Programs", proceedings of 13th International conference on Automated Software Engineering, pp.136~146 (1998)
  14. M. J. Gallagher, "ADTEST: A Test Data Generation Suite for Ada Software Systems", IEEE Trans. on Software Eng, 23(8), pp.473~484 (1997)
  15. R. P. Pargas, "Test Data Generation using Genetic Algorithms", Software Testing, Verification and Reliability, 263~282 (1999)
  16. G. C. Necula, "CIL:Intermediate Language and Tools for Analysis and transformation of C Programs", Proc. of Conference on compiler Construction, pp.213~228 (2002)
  17. P. Ammann, "Introduction to Software Testing" (2008), Cambridge University Press
  18. K. Sen, "CUTE:A Concolic Unit Testing Engine for C", Proc. of ESEC-FSE, 263~272 (2005)

관련 논문AI추천

이 간행물의 다른 논문 (6건)