A Study of Knowledge Representation for Effective Programming Error Detection

효과적인 프로그래밍 오류분석을 위한 지식표현연구

  • 송종수 ((주)엔포엔 대표이사) ;
  • 송두헌 (용인송담대학 컴퓨터소프트웨어과)
  • Published : 2003.10.01

Abstract

Automation of programming-error detection is an important part of intelligent programming language tutoring systems. In this paper, a new programming error detection approach for novice programmers is proposed by plan matching and program execution. Program execution result is used to resolve the restricted programming plan representation and to provide a confirming evidence for the plan matching differences. By checking the values of shared variable between the related plans, we can detect the cause-effect relationship between the plans. With this relationship and the test data, we can explain the program's unexpected behaviors according to the bug's cause and resulting effects.

프로그래밍 초보자의 개인차에 따라 효과적인 개별학습을 제공하는 프로그래밍 언어 교사 시스템 구축을 위해서는 초보자의 프로그램에 있는 오류를 분석하고 그 원인을 파악할 수 있어야 한다. 본 연구에서는 플랜 정합과 프로그램 실행에 기반한 효과적인 프로그래밍 오류분석 시스템을 제안하고자 한다. 프로그램 실행 결과를 이용하여, 연관된 프로그래밍 플랜간의 연결 관계를 유연하게 표시하고, 플랜 정합의 차이점을 검증하며, 플랜간 공유변수의 조건에 따른 인과관계의 파악할 수 있게 된다. 또한 초보자에게 제공하는 오류 메시지는 플랜 간의 인과관계에 따라 오류의 원인과 그 파급 효과를 지적하고 예제나 반례에 해당하는 사례를 구체적으로 제공할 수 있게 되어, 사용자가 쉽고 명확하게 이해할 수 있게 제공이 가능해졌다.

Keywords