Specifying reliability as a software attribute

Abstract : This paper examines come issues in specifying reliability as a software attribute. A scheme for characterizing software reliability, known as a failure profile, is introduced. Failure profiles are derived for particular implementations of an abstraction by identifying analytically the behavior of the module when software or hardware faults occur. A failure profile is developed for a sorting program to demonstrate an informal technique for identifying the consequences of faults. The derived failure profile is compared with observations of the program's behavior in the presence of artificially induced faults to demonstrate the effectiveness of the failure profile characterization of software reliability. The issues raised in the application of the informal technique are discussed with respect to developing a formal and more mechanical technique for producing and using failure profiles. (Author)

[1]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[2]  Richard D. Schlichting,et al.  Fail-stop processors: an approach to designing fault-tolerant computing systems , 1983, TOCS.

[3]  Karsten Schwan,et al.  StarOS, a multiprocessor operating system for the support of task forces , 1979, SOSP '79.

[4]  Edward F. Gehringer,et al.  The Cm* Multiprocessor Project: A Research Review , 1980 .

[5]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[6]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

[7]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[8]  Donald E. Knuth The art of computer programming: fundamental algorithms , 1969 .

[9]  Mary Shaw,et al.  A formal system for specifying and verifying program performance , 1979 .

[10]  Roy Levin Program structures for exceptional condition handling , 1977 .

[11]  P. M. Melliar-Smith,et al.  Formal Specification and Mechanical Verification of SIFT: A Fault-Tolerant Flight Control System , 1982, IEEE Transactions on Computers.

[12]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition , 1997 .

[13]  J. Goldberg,et al.  SIFT: Design and analysis of a fault-tolerant computer for aircraft control , 1978, Proceedings of the IEEE.

[14]  Daniel P. Siewiorek,et al.  Reliability in multiprocessor systems : a case study of C.mmp, Cm* and C.vmp. , 1978 .

[15]  Flaviu Cristian,et al.  Exception Handling and Software Fault Tolerance , 1982, IEEE Transactions on Computers.

[16]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.