Design of Systems With Concurrent Error Detection Using Software Redundancy
Hua, Kien Anh
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/69361
Description
Title
Design of Systems With Concurrent Error Detection Using Software Redundancy
Author(s)
Hua, Kien Anh
Issue Date
1987
Department of Study
Electrical Engineering
Discipline
Electrical Engineering
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Computer Science
Abstract
Self-checking programming is a system level concurrent error detection technique. This approach achieves error detection by introducing software redundancy in the form of executable assertion into the program to check the correct operation of the system during its execution. Both hardware and software faults that affect the specified behavior of the program therefore can be detected.
This thesis deals with a theoretical and experimental study of the scheme of self-checking programming. It addresses three issues. First, it deals with the design issues of self-checking programs. Two approaches are presented. The first approach derives the assertions from the text of the program design based on a set of formal transformation rules. The second approach employs data encoding schemes in which the program is designed to process information encoded in some error detecting code, and error detection is performed by observing the program coded output. Examples are given to illustrate the application of these techniques.
The second part deals with the development of a technique which can be used to analyze the error coverage of the proposed concurrent error detection scheme. The technique is essentially a fault simulation method. Simulated faults are introduced into the program at various levels (target programming language level or assembly language level) to produce mutant programs. These mutants are then executed to measure the ability of the set of assertions to distinguish the program from its mutants. This strategy is used in the experiments to study the effectiveness of five sample self-checking programs that include a navigation program of about 1000 lines of code. The results show that self-checking programming is an inexpensive and effective approach to provide concurrent error detection.
The automation issues are addressed in the last part of the thesis. The application of automated reasoning techniques to the problem of self-checking program design is discussed. A knowledge base is employed to support the understanding of the program design. The knowledge that includes programming knowledge and domain knowledge is presented in clause form in the Knowledge Base. A program design is also stored internally as clauses, and the assertions are derived by applying logic resolution and demodulation to these clauses.
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.