Font Size: a A A

On knowledge-based high level program debugging using heuristics

Posted on:1996-10-27Degree:Ph.DType:Dissertation
University:The University of OklahomaCandidate:Suh, Man-EokFull Text:PDF
GTID:1468390014985921Subject:Computer Science
Abstract/Summary:
Program debugging is essentially an intelligence intensive process. It is thought viable to develop an intelligent approach to help programmer perform this process. The purpose of this research project is to investigate the feasibility of developing an intelligent software assistant to aid programmers in program debugging using heuristic knowledge. A number of effective and practical debugging heuristics are identified. These heuristics are further classified and organized into a two dimensional structure so as to facilitate their reasoning. A model of debugging heuristic knowledge base including organization of the knowledge base, representation of the hueristic knowledge, and their respective reasoning mechanisms is developed and presented.; In order to investigate the practices of heuristic based program debugging, an experiment was conducted using a software engineering class in a two year span. Extensive data on a number of experimental programs that include small programs ranging from 60 to 250 lines of code and large scale software ranging 7,000 to 15,000 lines in their sizes, was collected and analyzed. The result of analysis indicated that there is a large percentage of debugging practices involving the use of informal debugging heuristics.; A prototype of the intelligent software assistant for high level program debugging has been developed. The current knowledge base is capable of providing appropriate advices to a user in locating the faults for certain types of errors. The design as well as implementation of this tool is also presented and discussed. This approach compliments that of formal program specification and automatic program understanding in developing an effective knowledge-based approach to high level program debugging.
Keywords/Search Tags:Program debugging, Heuristics, Approach, Intelligent software assistant
Related items