Software reliability and dependability: a roadmap

Software's increasing role creates both requirements for being able to trust it more than before, and for more people to know how much they can trust their software. A sound engineering approach requires both techniques for producing reliability and sound assessment of the achieved results. Different parts of industry and society face different challenges: the need for education and cultural changes in some areas, the adaptation of known scientific results to practical use in others, and in others still the need to confront inherently hard problems of prediction and decision-making, both to clarify the limits of current understanding and to push them back. We outline the specific difficulties in applying a sound engineering approach to software reliability engineering, some of the current trends and problems and a set of issues that we therefore see as important in an agenda for research in software dependability.

[1]  Karama Kanoun,et al.  Safety Analysis and Evaluation of an Air Traffic Control Computing System , 1996, SAFECOMP.

[2]  C. Hennebert,et al.  SACEM software validation , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[3]  Hermann Kopetz,et al.  Dependability: Basic Concepts and Terminology , 1992 .

[4]  Les Hatton,et al.  “Programming Languages and Safety-Related Systems” , 1995 .

[5]  Philip Koopman,et al.  Comparing the robustness of POSIX operating systems , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[6]  Hermann Kopetz,et al.  Software engineering for real-time: a roadmap , 2000, ICSE '00.

[7]  Norman E. Fenton,et al.  Software metrics: roadmap , 2000, ICSE '00.

[8]  Paul K. Giloth,et al.  Evolution of Fault Tolerant Switching Systems in AT&T , 1987 .

[9]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[10]  Bev Littlewood,et al.  Modeling the Effects of Combining Diverse Software Fault Detection Techniques , 2000, IEEE Trans. Software Eng..

[11]  J. Arlat,et al.  Assessment of COTS microkernels by fault injection , 1999, Dependable Computing for Critical Applications 7.

[12]  Robert L. Glass,et al.  Science and substance: a challenge to software engineers , 1994, IEEE Software.

[13]  Edward N. Adams,et al.  Optimizing Preventive Service of Software Products , 1984, IBM J. Res. Dev..

[14]  Michael R. Lyu,et al.  Handbook of software reliability engineering , 1996 .

[15]  J. Shaoul Human Error , 1973, Nature.

[16]  Bev Littlewood,et al.  Validation of ultrahigh dependability for software-based systems , 1993, CACM.

[17]  Bev Littlewood,et al.  Modelling the effects of combining diverse software fault removal techniques , 1999 .

[18]  Colin Potts,et al.  Design of Everyday Things , 1988 .

[19]  K. Miller,et al.  Interface robustness for COTS-based systems , 1997 .

[20]  Jean-Claude Laprie,et al.  X-Ware Reliability and Availability Modeling , 1992, IEEE Trans. Software Eng..

[21]  D. Richard Kuhn,et al.  Sources of Failure in the Public Switched Telephone Network , 1997, Computer.

[22]  David Powell,et al.  Failure mode assumptions and assumption coverage , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

[23]  Peter Neumann,et al.  Safeware: System Safety and Computers , 1995, SOEN.

[24]  Raymond R. Panko,et al.  Spreadsheets on trial: a survey of research on spreadsheet risks , 1996, Proceedings of HICSS-29: 29th Hawaii International Conference on System Sciences.

[25]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

[26]  H. Kopetz,et al.  The Evolution of Fault-Tolerant Computing , 1987, Dependable Computing and Fault-Tolerant Systems.

[27]  Nancy G. Leveson,et al.  An investigation of the Therac-25 accidents , 1993, Computer.

[28]  Sarah Brocklehurst,et al.  New Ways to Get Accurate Reliability Measures , 1992, IEEE Softw..

[29]  B. Littlewood Software Reliability Model for Modular Program Structure , 1979, IEEE Transactions on Reliability.

[30]  Martin L. Shooman Avionics software problem occurrence rates , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[31]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[32]  Nicola J. Ward The static analysis of safety critical software using MALPAS , 1989 .

[33]  Bev Littlewood,et al.  Conceptual Modeling of Coincident Failures in Multiversion Software , 1989, IEEE Trans. Software Eng..