Accession Number:

ADA214941

Title:

A Knowledge Based Approach to Program Debugging

Descriptive Note:

Final rept. Oct 1987-Sep 1989

Corporate Author:

NAVAL POSTGRADUATE SCHOOL MONTEREY CA

Personal Author(s):

Report Date:

1989-09-13

Pagination or Media Count:

78.0

Abstract:

We are exploring the use of executable specifications in automating the process of debugging logic programs. We have formulated a computer model that encodes programming knowledge including a classification of program bugs, heuristics that analyze and repair program errors, and operational semantics off the language, and is capable of reasoning with programs and their specifications. The realization of our methodology is the Constructive Interpreter which functions as a debugger as well as program synthesizer. It contains three major components test case generator, bug locator, and bug corrector. The test case generator can generate test data systematically by executing specifications. The bug locator will automatically locate a bug should the program fail to compute an answer that agrees with the specifications. The bug corrector will analyze the nature of the bug and invoke correction heuristics which might involve the use of 1 a deductive theorem prover which will try to construct a proof and deduce sufficient conditions to amend the program, and 2 an inductive program generator which will synthesize the missing part of the program. In this paper, we present our approach and an implementation of the experimental prototype debugger. KR

Subject Categories:

  • Computer Programming and Software

Distribution Statement:

APPROVED FOR PUBLIC RELEASE