1 nasa osma sas02 software reliability modeling: traditional and non-parametric dolores r. wallace...
TRANSCRIPT
1 NASA OSMA SAS02
Software Reliability Modeling:Traditional and Non-Parametric
Dolores R. WallaceVictor Laing
SRS Information ServicesSoftware Assurance Technology Center
http://satc.gsfc.nasa.gov/dwallac, [email protected]
NASA OSMA SAS '02
2 NASA OSMA SAS02
The Problem
• Critical NASA systems must execute successfully for a specified time under specified conditions -- Reliability
• Most systems rely on software
• Hence, a means to measure software reliability is essential to determining readiness for operation
• Software reliability modeling provides one data point for reliability measurement
3 NASA OSMA SAS02
Software Reliability Modeling(SRM) – Traditional
• Captures hardware reliability engineering concepts• Mathematically models behavior of a software
system from failure data to predict reliability growth • Invokes curve-fitting techniques to determine values
of parameters used in the models• Validates models with data with statistical analysis• Using parametric values, predicts future
measurements, e.g.,– Mean time to failure– Total number faults remaining– Number faults at time t
4 NASA OSMA SAS02
Synopsis
• FY01– Identify mathematics of hardware reliability not
used in software– Identify differences between hardware, software
affecting reliability measurement– Identify possible improvements
• FY02– Demonstrate practicality of SRM at GSFC– Fault correction improvement – Schneidewind– Non-parametric model - Laing
5 NASA OSMA SAS02
SRM: Data Collection
• Resistance to data collection• Data content
– Accuracy of content– Dates of failure, correction– Calendar time not execution time– Activities/ phase when failures occur
• Data manipulation– Frequency counts– Interval size and length– Time between failure
6 NASA OSMA SAS02
IntervalCounter
Sample had 35 weeks – simplified fault count
7 NASA OSMA SAS02
SMERFS^3 3-D OUTPUT
8 NASA OSMA SAS02
Practical Method
• SATC Services– SATC executes models and prepares analysis– SATC provides training and public domain tool
• Improvements – Recommendations to projects for data collection– IntervalCounter to simplify data manipulation
9 NASA OSMA SAS02
Fault Correction Adjustments
• Reliability growth occurs from fault correction• Failure correction proportional to rate of failure
detection• Adjusted model with delay dT (based on queuing
service) but same general form as faults detected at time T
• Process: use SMERFS Schneidewind model to get parameters; apply to revised model via spreadsheet
• Results – Show reliability growth due to fault correction– Predict stopping rules for testing
10 NASA OSMA SAS02
SMERFS^3 – Excel Approach*
• Best approach: combine SMERFS^3 with Excel.
• SRT provides model parameter estimation.
• Copy and paste parameters from SRT into
spreadsheet.
• Excel extends capabilities of SRT by allowing user
to provide equations, statistical analysis, and plots.
* CASRE or other software reliability modeling tool may be used with EXCEL Recommended
approach until the SRM tools incorporate this new model.
11 NASA OSMA SAS02
Non-parametric Reliability Modeling
• Hardware
- Wears out over time
- Increasing failure rate
• Software- Do not wear over time
- Decreasing failure rate
12 NASA OSMA SAS02
Continued
• Hardware Reliability Modeling
- “Large” independent random sampling
- Model reliability
- Make predictions
• Software Reliability Modeling
- “Small” observed dependent sample (of size one?)
- Not based on independent random sampling
- Model reliability
- Make predictions?
Do we search for the silver bullet of SWR models?
13 NASA OSMA SAS02
Reliability Trending
• Hardware Reliability 100% Maximum
0% Minimum 0 1 2 3 4 …
Time
• Software Reliability 100% Maximum
0% Minimum 0 1 2 3 4 …
Time
14 NASA OSMA SAS02
Software Reliability Bounds
100% Maximum
Estimated Bound
Estimated Model
0% Minimum
0 1 2 3 4 … Time
15 NASA OSMA SAS02
Calculation of Estimated Models and Bounds
• Dynamic Metrics- Failure rate data - Problem reports
• Static Code Metrics- Traditional
- Source Lines of Code (SLOC)- Cyclomatic Complexity (CC)- Comment Percentage (CP)
- Object-Oriented- Coupling Between Objects (CBO)- Depth of Inheritance Tree (DIT) - Weighted Methods per Class (WMC)
16 NASA OSMA SAS02
Combining Dynamic and Static Metrics
• The Proportional Hazards Model (PHM)
PHM Non-Parametric Component (Static)
R(t|z) = {R0(t)}g(z)
Parametric Component (Dynamic)
- Where zβ = z1β1 + z2β2 + … + zpβp , βi’s are unknown
regression coefficients and zi’s are static code metrics data
17 NASA OSMA SAS02
Tool Schema
Input Data z = (z1, z2, … zp)
Database Observed Data
Data Processing R(t|z) = {R0(t)}g(z)
Weighted Average Raw Data
Output Data Estimated Model Estimated Bound
- Process Below Bounds
Action - Corrective Action
- Process Above Bounds
- No Corrective Action
18 NASA OSMA SAS02
SUMMARY
• Software reliability modeling– Provides useful measurements for decisions– Does not require expert knowledge of the math!– Is relatively easy with use of software tools
• Fault correction improvement – Adapts model to be more like software– Demonstrates combined use of traditional SRM tools
with spreadsheet technology
• Non-parametric modeling– New approach shows promise– Prototype to be expanded
19 NASA OSMA SAS02
AIAA Recommended Steps(specific to SRM)
• Characterizing the environment• Determining test approach• Selecting models• Collecting data • Estimating parameters• Validating the models• Performing analysis
20 NASA OSMA SAS02
Fault Correction Modeling
• Software reliability models focus on modeling and predicting failure occurrence– There has not been equal priority on modeling the fault
correction process.
• Fault correction modeling and prediction support to – predict whether reliability goals have been achieved
– develop stopping rules for testing
– formulate test strategies
– rationally allocate test resources.
21 NASA OSMA SAS02
Equations: Prediction and Comparison Worksheets
(t) = [(log[ /( ( + ))]) / ] (t s+1)T X FF s,t t
Remaining Failures Predicted at Time t:
r(t) = (/) – Xs,t
Cumulative Number of Failures Detected at Time T:
D(T) = (α/β)[1 – exp (-β ((T –s + 1)))] + Xs-1
Cumulative Number of Failures Detected Over Life of Software TL:
D(TL) = / + Xs-1
Equations developed by Dr. Norman Schneidewind, Naval Postgraduate School, Monterey, CA
Time to Next Failure(s) Predicted at Time t