Files in this item
|(no description provided)|
|Title:||Logical error diagnosis|
|Author(s):||Renner, Scott Alexander|
|Doctoral Committee Chair(s):||Harandi, Mehdi T.|
|Department / Program:||Computer Science|
|Degree Granting Institution:||University of Illinois at Urbana-Champaign|
|Abstract:||There are almost always differences between the behavior intended by a programmer and the behavior actually implemented by his code. These differences are logical errors. The process of locating the cause of these differences is the logical error diagnosis process.
Run-time errors are usually diagnosed through an analysis of the incorrect program's execution behavior. The analysis is divided into two tasks: (1) selection of a segment of the execution history, and (2) determination of the correctness of this segment using an oracle. The objective is to locate a small segment that does not match the programmer's expectations; the error is then known to be in the corresponding piece of source code.
This thesis describes techniques which partially automate this diagnosis process for programs written in Pascal. The segment selection task is treated as a search problem in which the objective is to locate the error with a minimum of effort on the part of the oracle. The search algorithm locates errors without requiring any initial information about their location but can also use clues derived from the error symptoms or supplied by the programmer to reduce the search space. The segment verification task is partially automated by the availability of a high-level query language, which permits the programmer to write partial specifications of correct behavior. These specifications are then automatically evaluated by the debugger. The query language is based on Pascal expressions, with extensions for quantification operators, temporal scoping, and knowledge about data structures.
|Rights Information:||Copyright 1990 Renner, Scott Alexander|
|Date Available in IDEALS:||2011-05-07|
|Identifier in Online Catalog:||AAI9114383|