This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/23074
Description
Title
Logical error diagnosis
Author(s)
Renner, Scott Alexander
Issue Date
1990
Doctoral Committee Chair(s)
Harandi, Mehdi T.
Department of Study
Computer Science
Discipline
Computer Science
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Computer Science
Language
eng
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.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.