On the Application of Heuristic Knowledge for Program Debugging

프로그램 디버깅을 위한 휴리스틱 지식의 응용

  • 서동근 (동명정보대학교 정보공학부)
  • Published : 1999.02.01

Abstract

The process of program debugging is essentially an intelligence intensive process. It is thought viable to develop a knowledge-based tool to help programmer perform this process. This paper presents the design of such a system. Unlike other knowledge-based debugging tools which are mostly based on formal program specification and automatic program understanding, this tool is based on debugging heuristic. This tool is a debugging assistant which only suggests the programmer in program debugging what and where to examine using the debugging heuristic stored in the knowledge base. In this paper, a umber of useful heuristic debugging knowledge are explained and their usage in debugging process are described. The, a scheme to organize the knowledge in the knowledge base and an intelligent program debugging assistant using the knowledge are proposed and discussed.

프로그램을 디버깅하는 과정은 원래 사고력이 집중적으로 필요한 작업이다. 이 프로세스를 수행하는 프로그래머를 돕기 위해서는 지식기반의 도구를 개발하는 것이 적절하다고 생각된다. 이 논문은 그러한 시스템에 대한 설계를 발표하기 위한 것이다. 주로 정형적 프로그램 기술과 자동 프로그램 이해에 기반을 둔 대부분의 지식기반 디버깅 도구들과는 달리 이 도구는 디버깅 휴리스틱에 기반을 둔 것이다. 이 도구는 지식베이스에 저장된 디버깅 휴리스틱을 이용하여 프로그램을 디버깅하는 프로그래머에게 무엇을 그리고 어느 곳을 살펴봐야 하는지 제안만을 하는 보조 도구이다. 이 논문에서는 여러 가지 유용한 디버깅 휴리스틱이 설명되며 그것들의 디버깅 프로세스에서의 사용법이 기술된다. 그 다음에는 그 지식들을 지식베이스에서 체계화하는 방안과 그 지식을 이용한 프로그램 디버깅 보조도구를 제안하고 토의한다.

Keywords