|
| |
Ensuring Software Reliability
Published by Marcel Dekker Incorporated (now Taylor
Francis Publishing)
270 Madison Avenue, New York, NY 10016-0602.
To order call MDI at 1-212-696-9000 or 1-800-228-1160.
ISBN 0-8247-8762-5, 242 pages.
Contents
PART I: INTRODUCTION TO SOFTWARE RELIABILITY
1 Introduction
1.1
Measurement and Analysis of Software Reliability
1.2
Development Techniques for Reliable Software
1.3
Improving the Process
1.4
Management of the Process Summary
Summary
2 Defining Software Reliability
2.1
Software Reliability Definitions
2.2
How Can Software Be Unreliable?
2.3
Why Is Software Reliability Important Today?
2.4
The Cost of Unreliable Software
Summary
References
3 Software Failures and Failure Processes
3.1
Software Errors, Faults, and Failures
3.2
Software Versus Hardware Failures
3.3
Software Versus Hardware Failure Process
Summary
References
4 Government and Industry Objectives
4.1
Measurement of Software Reliability and Goals for
Improving it
4.2
Allocations for System and Software Reliability
Summary
References
5 Factors that Affect Software
Reliability
5.1
Methodologies and Tools
5.2
Learning Factor
5.3
Organization
5.4
Documentation
5.5
Complexity
5.6
Environment
5.7
Presence of Prototyping
5.8
Requirements Translation and Tracability
5.9
Test Methodology
5.10
Maintenance
5.11
Schedule
5.12
Language
5.13
Existence of Similar Software
5.14
Qualitative Characteristics of Software
5.15
Tradeoffs of Design Parameters
Summary
References
6 Software Reliability Terms and
Definitions
6.1
Types of Software Errors
6.2
Criticality of Software Errors
6.3
Types of Software Testing
6.4
Software Reliability Testing
6.5
Randomness of Software Faults
6.6
Distribution of Software Faults
6.7
Software Reliability Parameters
Summary
References
PART II: MEASURING SOFTWARE RELIABILITY
7 Software Reliability Data Collection
7.1
Collecting and Measuring Error Data Via the
Problem-Reporting Process
7.2
Process Data to Be Collected
7.3
Product Data to Be Collected and Measured
7.4
Case studies
Summary
References
8 Software Reliability Models
8.1
Software Reliability Model Parameters
8.2
The Musa Models
8.3
Shooman's Model
8.4
Jelinski-Moranda Deutrophication Model
8.5
Lipow Modified Jelinski-Moranda Model
8.6
Goel-Okumoto Model
8.7
Jelinski-Moranda Geometric Deutrophication Model
8.8
Duane Growth Model
8.9
Schick-Wolverton Model
8.10
Leone Test Group Model
8.11
Error Seeding Models
8.12
Dual Test Group Model
8.13
Testing Success Model
8.14
Weibull Model
8.15
Predictive Models
8.16
Case Studies of Reliability Models
Summary
References
PART III: IMPROVING SOFTWARE RELIABILITY
9 Designing for More Reliable Software
9.1
Structured Design and Code
9.2
Conventions for a Structured Design
9.3
Documenting Source Code
9.4
Reusability
9.5
Fault Tolerance and Error Prevention
Summary
References
10 Testing and Maintaining for More Reliable Software
10.1
Structural Complexity and Structured Testing
10.2
Algorithm Testing
10.3
Logical Testing
10.4
Maintenance and Regression Testing
10.5
Functional Testing
Summary
References
11 Software Analyses
11.1
Fault-Tree Analysis
11.2
Failure Modes Effects and Criticality Analysis
Summary
References
12 Automating Software Reliability
12.1
Tools for Estimating Software Reliability
12.2
Analysis Tools
12.3
Design Tools
12.4
Tools that Compute Complexity
12.5
Tools that Produce Test Cases
12.6
Configuration Management Tools
Summary
References
PART IV: MANAGEMENT OF SOFTWARE RELIABILITY
13 Developing a Program Plan for Software
Reliability
13.1
Steps for Implementing Software Reliability at Your
Organization
13.2
Implementing Software Reliability on a Particular Project
13.3
Medium- and Long- Term Objectives
13.4
Lessons Learned
Summary
References
|