skip to main content
article
Free Access

Design of self-checking software

Authors Info & Claims
Published:01 April 1975Publication History
Skip Abstract Section

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.

References

  1. 1 B. W. Boehm, "Software and Its Impact: A Quantitative Assessment," Datamation, May, 1973, pp. 48-59.Google ScholarGoogle Scholar
  2. 2 C. V. Ramamoorthy, R. C. Cheung, and K. H. Kim, "Reliability and Integrity of Large Computer Programs," Lecture Notes in Computer Science, (ed. by G. Goos and J. Hartmanis), Springer-Verlag, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 B. Randell, "Operating Systems: The Problems of Performance and Reliability," Information Processing 71, pp. 281-290.Google ScholarGoogle Scholar
  4. 4 J. R. Connet, E. J. Pasternak and B. D. Wagner, "Software Defenses in Real-Time Control Systems," 1972 Int. Sym. on Fault-Tolerant Computing, pp. 94-99.Google ScholarGoogle Scholar
  5. 5 R. S. Fabry, "Dynamic Verification of Operating System Decisions," Comm. of ACM, Vol. 16, No. 11 Nov. 1973, pp. 659-668. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 R. W. Watson, Time Sharing System Design Concepts, McGraw-Hill, 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 J. R. Kane, and S. S. Yau, "Concurrent Software Fault Detection," IEEE Trans. on Software Engineering, Vol. 1, No. 1, March, 1974.Google ScholarGoogle Scholar
  8. 8 C. V. Ramamoorthy and R. C. Cheung, "Integrity of Large Software Systems," 3rd Annual Texas Conference on Computing Systems, 1974.Google ScholarGoogle Scholar
  9. 9 R. C. Cheung, "A Structural Theory for Improving Software Reliability," Ph.D. Thesis, Dept. of Electrical Engineering and Computer Sciences, University of California, Berkeley, California, 1974.Google ScholarGoogle Scholar
  10. 10 C. V. Ramamoorthy, R. E. Meeker and J. Turner, "Design and Construction of an Automated Software Evaluation System," IEEE Sym. on Computer Software Reliability, 1973.Google ScholarGoogle Scholar

Index Terms

  1. Design of self-checking software

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM SIGPLAN Notices
                ACM SIGPLAN Notices  Volume 10, Issue 6
                International Conference on Reliable Software
                June 1975
                563 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/390016
                Issue’s Table of Contents
                • cover image ACM Conferences
                  Proceedings of the international conference on Reliable software
                  April 1975
                  567 pages
                  ISBN:9781450373852
                  DOI:10.1145/800027

                Copyright © 1975 Authors

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 April 1975

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader