A Goal-oriented Test Data Generation for Programs with Pointers based on SAT

SAT에 기반한 포인터가 있는 프로그램을 위한 목적 지향 테스트 데이터 생성

  • Published : 2008.04.30

Abstract

So far, most of research on automated test data generation(ATDG) deals with programs without pointers. Recently, few works hove been done on ATDG in the presence of pointers, but they ore path-oriented techniques which require the specification of on entire program path to be tested or a program to be executed. This paper presents a new technique for generating test data even without specifying a program path completely. The presented technique is a static technique which transforms the test data generation problem into a SAT(SATisfiability) problem and makes advantage of SAT solvers for ATDG. For the ends, we transform a program under test into Alloy which is the first-order relational logic and then produce test data via Alloy analyzer.

지금까지 테스트 데이터를 자동으로 생성하기 위한 대부분의 연구는 프로그램에 포인터가 존재하지 않는 경우만을 대상으로 하였다. 최근에 포인터가 있는 경우에도 테스트 데이터를 자동으로 생성할 수 있는 방법들이 제안되었지만 테스트할 프로그램 경로를 완전하게 명시해야 하는 경로 기반 방법이거나 프로그램을 실제 실행해야 하는 방법들이다. 이 논문에서는 프로그램 경로를 완전하게 명시하지 않아도 포인터가 있는 프로그램에 대하여 테스트 데이터를 생성할 수 있는 새로운 방법을 제안한다. 제안된 방법은 테스트 데이터 생성 문제를SAT(SATisfiability) 문제로 변환하고 SAT 해결도구를 이용하여 자동으로 테스트 데이터를 생성하는 정적 방법이다. 이를 위해 프로그램을 1차 관계 논리 언어인 Alloy로 변환하고 Alloy 분석기를 통하여 테스트 데이터를 생성한다.

Keywords