Files in this item
|(no description provided)|
|Title:||Design of Systems With Concurrent Error Detection Using Software Redundancy|
|Author(s):||Hua, Kien Anh|
|Department / Program:||Electrical Engineering|
|Degree Granting Institution:||University of Illinois at Urbana-Champaign|
|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.
Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1987.
|Date Available in IDEALS:||2014-12-15|
This item appears in the following Collection(s)
Dissertations and Theses - Electrical and Computer Engineering
Dissertations and Theses in Electrical and Computer Engineering
Graduate Dissertations and Theses at Illinois
Graduate Theses and Dissertations at Illinois