View : 849 Download: 0

컴퓨터 프로그램 자가 교정 기법

Title
컴퓨터 프로그램 자가 교정 기법
Authors
문남미
Issue Date
1997
Department/Major
대학원 전자계산학과
Publisher
이화여자대학교 대학원
Degree
Doctor
Abstract
프로그램 자가 교정 기법에는 정적 프로그램 분석 방법과 동적 프로그램 분석 방법이 있다. 정적 분석 방법은 문장 분석과 프로그램 구조 분석에는 효율적이나 프로그램 실행과정에 발생하는 오류를 분석하기는 불가능하다. 이 방법에 의한 프로그램 분석은 지식 베이스 위에 특정 문제를 위하여 미리 작성한 계획 목록에 의존하여 이루어진다. 만약 오류의 발생 가능성이 사전에 예상되지 못했다면, 오류가 발생하더라도 이를 발견할 수 없다. 동적 분석 방법은 프로그램의 스타일 오류와 같은 구조 분석에는 적합하지 않다. 이 방법은 분석의 전 처리 작업이 아주 복잡하거나 방대한 자료 저장이 요구되기 때문에 실재 프로그램 분석을 위해서는 많이 사용되고 있지 못하다. 본 논문에서는 이와같은 프로그램 분석 방법의 문제점을 보완하고 특정 한 언어 중심의 프로그램 분석이 아닌 다양한 언어에 적용 가능한 효율적인 프로그램 자가 교정 기법을 제시하고자 한다. 정적 분석에서는 다수의 계획 목록 대신 추론 가능한 하나의 프로그램 틀을 사용한다. 즉, 입력으로 주어진 표준 프로그램 틀을 비교하여서 초보 프로그램을 인식 할 수 있는 규칙을 생성한다. 이 규직에 의해서 추론된 프로그램 틀과 초보 프로그램이 변형된 프로그램 틀을 비교하여서 정적 분석을 수행한다. 본 연구에서 제시하는 동적 분석은 자료 저장 문제를 해결하기 위해 분석 범위를 제한한다.즉 정적 분석 정보를 활용하여 추적 위치를 지정하고 그 분석 범위를 축소시킴으로서 문제의 해결방안을 제시한다. 이와 같은 동적 분석의 실행값 분석은 심볼 테이블 매치 정보와 시간에 따른 변수의 움직임을 기록한 탐포랄 벡터를 활용하여 이루어진다. 본 연구에서 제시된 프로그램 자가 교정 기법은 초보 프로그래머를 위한 프로그래밍 언어 교육 시스템에 활용해 봄으로써 그 효율성을 입증하였다. 구현된 프로그래밍 언어 교육 시스템 PROLTUS는 정적 분석과 동적 분석을 실시함으로서 초보자 프로그램의 문장과 구조 그리고 실행 과정을 분석하는 것이 가능하다. ; The program self-correction techniques have two methods : static program analysis and dynamic analysis. The static program analysis methods are very efficient to analyze the sentences and structure of program but it is impossible to screen out the error while the program is running. This program analysis is accomplished by pre-made schedule lists for specific problems that are already in the knowledge base. If there is no way to forecast the possibility of error occurrence, there is no way to find out the error in real situation. The dynamic program analysis method can analyze the error during the program running but it is not suitable for sentences analysis such as screen out the error of program style. Actually, these methods are not popular to use because of its knotty problem of pre-handing procedure and it needs a lot of data to run. This thesis follows up such program analysis approach and suggests an effective program self-correction method which can be applied to variety of languages. Rather than a number of plan lists in static analysis, a certain program frame is used for planning. That is, a standard program frame given by inputs creates some rules that can recognize novice s programs. The static analysis is executed by a comparison between a expert program and a student program. The dynamic analysis suggested in this thesis has limited analysis coverage in order to draw a solution for the data storage problem. That is, we suggest the method to solve the problem through the information derived from the static analysis and by narrowing down the analysis boundary. The analysis of the outputs by the dynamic approach is made by using the temporal vector that has recorded the match information of the symbol table and the timely movement of the variables. The self-correction method suggested in the thesis paper has been proved to be an effective method with the application in programming language tutoring systems for novices. The PROgramming Language Tutoring System, PROLTUS, can analyze the sentences, structures and the execution courses of the novice s programs through both the static analysis and the dynamic analysis.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 컴퓨터공학과 > Theses_Ph.D
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

BROWSE