동적 제어 정보를 이용한 효율적인 프로그램 슬라이싱 알고리즘

An Efficient Program Slicing Algorithm using Dynamic Control Information

  • 박순형 (동의공업대학 전자계산과) ;
  • 정은이 (춘해대학 멀티미디어정보과) ;
  • 박만곤 (부경대학교 컴퓨터멀티미디어공학부)
  • 발행 : 2000.02.01

초록

일반적인 소프트웨어 시스템은 새로운 요구와 오류의 발견으로 인해 계속적인 개발과 확장 그리고 수정이 요구된다. 이러한 일련의 작업과정에서 기존 프로그램의 정확한 이해는 매우 필요하다. 어떤 프로그램의 특정 명령문에 있는 변수에 대한 관련 명령문을 찾고 싶을 때 프로그래머는 입력 자료의 값에 대해 프로그램의 실행궤도 추적을 통해 프로그램을 분석한다. 그러므로, 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 프로그램 슬라이싱(dynamic program slicing)과 이를 구현하는 기술의 개발은 매우 중요하다고 할 것이다. 그러나 전통적인 동적 슬라이싱 기법은 구현 초기에 프로그램 실행이력을 만들어야 하는 불편이 있었다. 본 논문에서는 실행이력 파일을 사용하지 않고 동적 제어 정보와 프로그램 슬라이싱 기법을 사용하여 효율적으로 프로그램 슬라이스를 산출하는 알고리즘을 제시하였고 이것을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 그리고, 본 논문에서 제시한 슬라이스 생성기법이 기존의 기법보다 더 효율성이 높다는 것을 보였다.

For the operation of the practical software systems, the development of new software, extension and modification phases of current software are successively needed through the new requirements added and their errors debugging detected. We need to understand current program exactly during a working serial jobs. When we'd like to extract the statements which influence the variable of specific statement of program, we generally analyze the program behavior through execution trace of program for the input values. It is important to compute dynamic program slice related to all statements that actually affect the value of a variable occurrence for a given program input and to develop techniques of its implementation. But traditional dynamic slicing techniques are inconvenient to make program execution history at the beginning implementation. In this paper, we propose a new improved algorithm which can produce program slice by use of dynamic control information and program slicing techniques except execution history file. Also we can find that the proposed program slicing approach is more efficient than the traditional program slicing algorithm on the practical testing environment.

키워드