Design of self-checking software

Sik-Sang Yau, R. C. Cheung

Research output: Contribution to journalArticle

9 Scopus citations

Abstract

This paper discusses different techniques for constructing a piece of self-checking software for systems where ultra-reliability is required. Self-checking software can be designed to detect software errors, to locate and to stop the propagation of software errors, to assist in the recovery from errors and to verify the integrity of the system. Self-checking techniques can be implemented in the program to check the function, the control sequence and the data of a process. The functional aspects of a process can be monitored to detect infinite loops, incorrect loop terminations, illegal branches and wrong branches. The validity of data of a process can be assured by performing checks on the integrity of data values, the integrity of data structures and the nature of data values. These self-checking capabilities should be implemented during the initial stage of program development. The cost-effectiveness of each technique in the particular operating environment should be evaluated. Only the most cost-effective techniques should be retained and overhead can be reduced considerably by implementing these techniques in hardware.

Original languageEnglish (US)
Pages (from-to)450-455
Number of pages6
JournalACM SIGPLAN Notices
Volume10
Issue number6
DOIs
StatePublished - Jun 1 1975
Externally publishedYes

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint Dive into the research topics of 'Design of self-checking software'. Together they form a unique fingerprint.

  • Cite this