Hardware and Software Reliability (323-08)

 

 

 

Application and Improvement of Software Reliability Models

 

 

 

 

Submitted By: Dolores Wallace

And

Charles Coleman, Manager, SATC

 

 

 

 October 12, 2001

 

 

 

 

 

 

 

 

Technical POC: Dr. Linda Rosenberg

Administrative POC: Dennis Brennan

 

 

Phone #: 301-286-0087

Phone #: 301-286-6582

Fax #: 301-286-1701

Fax #: 301-286-1667

Email: Linda.Rosenberg@gsfc.nasa.gov

Email: Dennis.Brennan@gsfc.nasa.gov

Mail Code: 304

Mail Code: 300

 

 

 

ABSTRACT 

 

This report presents the results of Task 323-08, Hardware and Software Reliability. Although hardware and software differ, they share a sufficient number of similarities that the mathematics used in hardware reliability modeling have been applied to software reliability modeling.  This task examines those models and describes how they may be practical for application to projects at Goddard Space Flight Center. The task also resulted in improvements to one model to allow for fault correction.  


EXECUTIVE SUMMARY

 

NASA acquires and uses many systems in which software is a major component, and many of these systems are critical to the success of NASA’s mission.  These systems must execute successfully for a specified time under specified conditions, that is, they must be reliable.  The capability to provide accurate measurement of the reliability of the software in these systems before NASA accepts them is an essential part of ensuring that NASA software will meet its mission requirements.

 

The purposes of Task 323-08, Hardware and Software Reliability, are to examine reliability engineering in general and its impact on software reliability measurement, to develop improvements to existing software reliability modeling, and to identify the potential usefulness of this technique as one data point in measuring reliability of software at the Goddard Space Flight Center.

 

The first part of this project identified the mathematics and statistical distributions used in reliability modeling and found that essentially all have been applied to software reliability modeling. The study identified major differences between hardware and software and indicated that the software reliability models do not specifically accommodate those differences.   The study resulted in several recommendations for model modification.

 

The second part of this project explored the use of these software reliability models at Goddard Space Flight Center (GSFC) and their improvement. A case study to determine usefulness of this technique at GSFC used project failure data and characterized and manipulated it for use with a software reliability tool.  The actual process of software reliability modeling includes the preparation of the data, selection of the appropriate model, and analysis and interpretation of results of the models.  A key criterion to practicality is the amount of effort required for each step.

 

The Naval Space and Warfare Center (NSWC), Dahlgren, Virginia, has sponsored the development of a software tool, Software Modeling and Estimation of Reliability Functions for Software (SMERFS), under the direction of Dr. William B. Farr. This public domain tool exercises several software reliability models and served as an instrument for assessing usability of software reliability modeling at GSFC

 

One difference between hardware and software is the correction process.  By the time hardware is in operation and reliability studies occur, generally design faults have been removed. With software, faults are often remaining during system test and operation. The hardware reliability models do not account for correction during the time of reliability measurement. For this research task, Dr. Norman Schneidewind of the Naval Postgraduate School developed adjustments to the Schneidewind model to allow for fault correction.

 

This report describes the results of these studies.

 

 

 
TABLE OF CONTENTS

 

ABSTRACT.. ii

EXECUTIVE SUMMARY.. iii

1.    Introduction.. 1

2.    Overview of Hardware and Software Reliability.. 2

2.1      Definitions. 3

2.2      Software reliability models. 4

2.3      Requirements for using the models. 6

2.4      Some Hardware and Software Differences Impacting Reliability Models. 8

3.    Applying Software Reliability Modeling at GSFC... 9

3.1      The Modeling Process. 9

3.2      Collection of Data. 13

3.3      Software Tool Availability. 14

3.4      Options for applying software reliability modeling at GSFC.. 16

4.    Modeling the Fault Correction Process.. 17

5.    Conclusions.. 18

6.    References.. 19

Appendix A.  Performing Software Reliability Modeling.. 21

A.1     Initial Process Steps. 21

A.2     Exercising the Models. 22

A.3     Sample Executions. 22

A.4     Lessons Learned. 27

Appendix B. Improvements to a Software Reliability Model 28