On the Efficiency Comparison of Dynamic Program Slicing Algorithm using Multiple Criteria Variables

다중 기준변수를 사용한 동적 프로그램 슬라이싱 알고리즘의 효율성 비교

  • 박순형 (동의공업대학 전자계산학과) ;
  • 박만곤 (부경대학교 컴퓨터멀티미디어공학부)
  • Published : 1999.09.01

Abstract

Software engineers are used to analyse the error behavior of computer programs using test cases which are collected for the testing phase when software errors are detected. In actual software testing and debugging, it is important to adopt dynamic slicing technique which is concerned on all the statements to be affected by the variables of current inputs and to use technique of its implementations. The traditional dynamic slicing has focused on the single slicing criterion algorithm. It has been thought that it is needed to develope and implement algorithm for used multiple criteria variables program slicing, which finds every slicing criterion variable where it is used multiple criteria variables. In this paper, we propose an efficient algorithm to make dynamic program slices when it has used multiple criteria variables. The results of the implementation are presented by the making table on execution history and the dynamic dependence graph. Also we can find that the proposed dynamic program slicing approach using multiple criteria variables is more efficient than the traditional single case algorithm on the practical testing environment.

프로그램에서 요류가 발생되었을 때 프로그래머는 어떤 시험 사례(test case)를 통해 프로그램을 분석한다. 이처럼 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 슬라이싱(dynamic slicing)과 이를 구현하는 기술은 실제 테스팅 및 디버깅 분야에서 매우 중요하다고 할 것이다. 지금까지의 동적 슬라이싱은 슬라이싱 기준 변수가 1개 일 때의 경우에 대해서만 연구해 왔다. 그러나, 실제적인 테스팅 및 디버깅 분야에서는 슬라이싱 기준이 되는 변수가 2개 이상인 경우가 아주 많이 발생한다. 따라서 슬라이싱 기준 변수가 n 개 일 때 동적 프로그램 슬라이스(dynamic program slices)를 만드는 알고리즘을 제시하였고 프로그래밍 언어를 사용하여 동적 프로그램 슬라이싱 알고리즘을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 구현 결과는 실행 이력에 대한 마킹 테이블(marking table)과 동적 종속 그래프로 나타내었다. 그리고, 본 논문에서 제시한 다중기준변수 동적 슬라이스 생성을 위한 마킹 알고리즘이 기존의 단일기준변수 기법보다 실제적인 테스팅 환경에서 더 우수함을 보였다.

Keywords