Notes on:
Introduction to Software Reliability: a state of the art reviewRAC |
|
Introduction to Software Reliability: a state of the art review, Report # F30602-94-0087, Reliability Analysis Center (Mary Hartz, Ellen Walker, David Mahar listed as authors), Rome NY, 1996. (183 pages).
I DON'T PUBLISH NOR SELL THIS BOOK -- CONTACT RAC FOR INFO ON OBTAINING IT!
This book attempts to bring together concepts from both hardware and software reliability so that engineers from either area can begin to understand the other. However, it is clearly meant more for a hardware audience trying to understand software than for the other way around. While there are no deep theoretical results unifying the two fields, there is a good survey of software development methods, metrics, and reliability models.
This book should serve as a good starting point for a hardware engineer or engineering manager who suddenly finds himself immersed in the realm of software reliability.
Topic coverage: (*** = emphasized; ** = discussed with some detail; * = mentioned)
*** | Dependability | ** | Electronic Hardware | ** | Requirements | ||||
Safety | *** | Software | *** | Design | |||||
Security | Electro-Mechanical Hardware | * | Manufacturing | ||||||
Scalability | Control Algorithms | * | Deployment | ||||||
Latency | Humans | Logistics | |||||||
Affordability | Society/Institutions | Retirement |
Abstract:
This document is written for a broad audience of readers with two main objectives:
- To bridge the communication gap that exists between the hardware and software community regarding the subjection of software reliability
- To provide managers with an understanding of the issues and risks associated with defining reliability requirements, and achieving desired levels of reliability
For the hardware engineer, this books performs comparative analyses referencing the language of the hardware environment, describing conceptual differences between hardware and software and explaining methods and models currently available for determining software reliability. For the software community, this book addresses the need to quantify reliability and to measure progress toward reliability and quality. It describes reliability efforts to date in terms that are meaningful to the software developer.
PREFACE v 1.0 INTRODUCTION: SOFTWARE ISSUES 1 1.1 A Little Reliability History 1 1.2 Why Consider Software Reliability? 1 1.3 Reliability Definitions 2 1.4 Philosophical and Conceptual Similarities and Differences Between Hardware and Software Quality and Reliability 4 1.5 Software Reliability Terminology 5 1.6 Life Cycle Considerations 7 1.7 Software Failures Modes, Effects and Criticality Issues 11 1.8 System Reliability Issues 14 1.9 Software Product, Process and Resultant Reliability Metrics 15 1.10 Summary: Hardware and Software Reliability Differences 16 2.0 THE SOFTWARE DEVELOPMENT PROCESS 17 2.1 Ad Hoc Software Development 19 2.2 Waterfall Model 19 2.3 Classic Development Model 20 2.4 Prototyping Approach 23 2.5 Spiral Model 25 2.6 Incremental Development Model 28 2.7 Cleanroom Model 29 2.8 Software Reuse Approach 32 2.9 Concurrent Development Approach 34 2.10 Automated Development Techniques 35 3.0 CONTRASTING HARDWARE AND SOFTWARE DEVELOPMENT 37 3.1 Requirements Definition and Analysis Phases 37 3.2 Design Phase 38 3.3 Code Phase 40 3.4 Test Phase 40 3.5 Maintenance Phase 45 3.6 Development Process Reviews 46 4.0 PRODUCT METRICS 49 4.1 Lines of Code Metric 49 4.2 Function Point Metric 50 4.3 Comparison of Lines of Code and Function Point Values 55 4.4 Characteristics and Requirements Metrics 55 4.5 Complexity-Oriented Metrics 56 4.6 Test Coverage Metrics 61 4.6.1 Test Coverage Reliability Metrics 61 4.6.2 Estimating Total Number of Faults Using Tagging 63 5.0 PROJECT MANAGEMENT METRICS 65 5.1 Project Schedule, Effort and Cost Metrics 65 5.2 Productivity Metrics 68 5.3 Risk Metrics 70 5.4 Configuration Management Metrics 72 6.0 PROCESS METRICS 75 6.1 Capability Maturity Model (CMM) 75 6.1.1 Model Focus 76 6.1.2 Common Model Architecture 77 6.1.3 Assessment Summary 80 6.2 Malcolm Baldrige National Quality Award 80 6.3 ISO-9000 Certification 82 7.0 FAULT AND FAILURE METRICS 85 7.1 Introduction to General Concepts 85 7.2 Detailed Concepts 89 7.3 Failure Data 91 8.0 SOFTWARE RELIABILITY MODELS 93 8.1 Prediction Models 96 8.1.1 In-House Historical Data Collection Model 96 8.1.2 Musa's Execution Time Model 96 8.1.3 Putnam's Model 97 8.1.4 Rome Laboratory Prediction Model: RL-TR-92-15 99 8.1.5 Rome Laboratory Prediction Model: RL-TR-92-52 100 8.2 Classical Fault Count/Fault Rate Estimation Models 102 8.2.1 Exponential Distribution Models 102 8.2.2 Weibull Distribution Model 108 8.3 Bayesian Fault Rate Estimation Models 108 8.3.1 Thompson and Chelson's Model 108 Appendix A: Reference List 111 Appendix B: Acronyms And Glossary 117 Appendix C: Detailed Information Required To Predict Fault Density At Delivery 141 Appendix D: Additional Resources 165
Go to: other books | resource page
Philip Koopman: koopman@cmu.edu