Exception Handling and Software Fault Tolerance

Some basic concepts underlying the issue of fault-tolerant software design are investigated. Relying on these concepts, a unified point of view on programmed exception handling and default exception handling based on automatic backward recovery is constructed. The cause–effect relationship between software design faults and failure occurrences is explored and a class of faults for which default exception handling can provide effective fault tolerance is characterized. It is also shown that there exists a second class of design faults which cannot be tolerated by using default exception handling. The role that software verification methods can play in avoiding the production of such faults is discussed.

[1]  Flaviu Cristian A Recovery Mechanism for Modular Software , 1979, ICSE.

[2]  Richard M. Sedmak,et al.  Fault Tolerance of a General Purpose Computer Implemented by Very Large Scale Integration , 1980, IEEE Transactions on Computers.

[3]  Patrick Cousot,et al.  Semantic foundations of program analysis , 1981 .

[4]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[5]  ShawMary,et al.  Abstraction and verification in Alphard , 1977 .

[6]  D. B. Lomet Process structuring, synchronization, and recovery using atomic actions , 1977 .

[7]  Mary Shaw,et al.  An introduction to the construction and verification of Alphard programs , 1976, ICSE '76.

[8]  P. M. Melliar-Smith,et al.  A program structure for error detection and recovery , 1974, Symposium on Operating Systems.

[9]  Brian A. Wichmann,et al.  Rationale for the design of the Ada programming language , 1979, SIGP.

[10]  S. K. Shrivastava,et al.  Sequential pascal with recovery blocks , 1978, Softw. Pract. Exp..

[11]  David Lorge Parnas A technique for software module specification with examples , 1983, CACM.

[12]  Flaviu Cristian Le traitement des exceptions dans les programmes modulaires , 1979 .

[13]  Flaviu Cristian,et al.  Systematic Detection of Exception Occurrences , 1981, Sci. Comput. Program..

[14]  Daniel J. Lehmann,et al.  Data types , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[15]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[16]  David C. Luckham,et al.  Ada exception handling: an axiomatic approach , 1980, TOPL.

[17]  Alan Snyder,et al.  Exception Handling in CLU , 1979, IEEE Transactions on Software Engineering.

[18]  John McCarthy,et al.  A BASIS FOR A MATHEMATICAL THEORY OF COMPUTATION 1) , 2018 .

[19]  Brian Randell,et al.  Reliability Issues in Computing System Design , 1978, CSUR.

[20]  R. Kerr,et al.  Recovery blocks in action: A system supporting high reliability , 1976, ICSE '76.

[21]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[22]  Mary Shaw,et al.  Abstraction and verification in alphard , 1976 .

[23]  P. M. Melliar-Smith,et al.  Software reliability: The role of programmed exception handling , 1977, Language Design for Reliable Software.

[24]  N. Ghani,et al.  A Recovery Cache for the PDP-11 , 1980, IEEE Transactions on Computers.