E-Book, Englisch, 480 Seiten, Web PDF
Bendell / Mellor Software Reliability
1. Auflage 2014
ISBN: 978-1-4831-5286-8
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
State of the Art Report 14:2
E-Book, Englisch, 480 Seiten, Web PDF
ISBN: 978-1-4831-5286-8
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark
Software Reliability reviews some fundamental issues of software reliability as well as the techniques, models, and metrics used to predict the reliability of software. Topics covered include fault avoidance, fault removal, and fault tolerance, along with statistical methods for the objective assessment of predictive accuracy. Development cost models and life-cycle cost models are also discussed. This book is divided into eight sections and begins with a chapter on adaptive modeling used to predict software reliability, followed by a discussion on failure rate in software reliability growth models. The next chapter deals with methods for predicting and estimating software reliability, with emphasis on their strengths and weaknesses. The reader is methodically introduced to formal inspection in software development; the effects of product design, program structure, development methods, and the environments of product testing and use on product reliability; and types of software metrics in relation to reliability. The remaining chapters explore the ways in which software engineers have sought to achieve software reliability through testing; problems and standards in software reliability data collection; and applications of time series models to software reliability analysis. This monograph will be of interest to software engineers and designers.
Autoren/Hrsg.
Weitere Infos & Material
1;Front Cover;1
2;Software Reliability;4
3;Copyright Page;5
4;Table of Contents;6
5;Foreword;8
6;Publisher's note;10
7;Part 1: Invited Papers;12
7.1;Chapter 1. Adaptive models;14
7.1.1;Adaptive models;16
7.1.1.1;Introduction;16
7.1.1.2;Measuring predictive quality;17
7.1.1.3;Adaptive modelling;19
7.1.1.4;Smooth adaptive function;24
7.1.1.5;Discussion;29
7.1.1.6;Acknowledgements;29
7.2;Chapter 2. Stochastic treatmentof the failure rate in software reliability growth models;30
7.2.1;Stochastic treatment of the failure rate in software reliability growth models;32
7.2.1.1;Introduction;32
7.2.1.2;The problem;32
7.2.1.3;The Jelinski/Moranda model;34
7.2.1.4;The Littlewood model;35
7.2.1.5;The Littlewood/Verrall model;38
7.2.1.6;Discussion;39
7.2.1.7;Acknowledgements;40
7.3;Chapter 3. Software reliability models;42
7.3.1;Software reliability models;44
7.3.1.1;Introduction;44
7.3.1.2;Description of methods;45
7.3.1.3;Theoretical evaluation of methods;54
7.3.1.4;Acknowledgement;55
7.4;Chapter 4. Inspection data;56
7.4.1;Inspection data;58
7.4.1.1;Introduction;58
7.4.1.2;Formal inspection;58
7.4.1.3;The next step in inspection;62
7.5;Chapter 5. Program and processproperty models;66
7.5.1;Program and process property models;68
7.5.1.1;Introduction;68
7.5.1.2;The management of errors, faults and failures;68
7.5.1.3;Product faultiness and the design and implementation processes;69
7.5.1.4;Interactions between products and processes — ongoing research;74
7.5.1.5;Summary and future work;74
7.6;Chapter 6. Relaxation of the common failure rate assumption in modelling software reliability;76
7.6.1;Relaxation of the common failure rate assumption in modelling software reliability;78
7.6.1.1;Introduction;78
7.6.1.2;Lindsay's theorem;79
7.6.1.3;Jelinski/Moranda revisited;80
7.6.1.4;Criticisms of the Jeninski/Moranda model;82
7.6.1.5;The Jelinski/Moranda model extended by use of Lindsay's theorem;83
7.6.1.6;A numerical algorithm;86
7.6.1.7;Numerical results;89
7.7;Chapter 7. A framework for modelling software reliability;92
7.7.1;A framework for modelling software reliability;94
7.7.1.1;Introduction;94
7.7.1.2;Stochastic point processes;94
7.7.1.3;The modelling framework;97
7.7.1.4;Application to data;101
7.7.1.5;Conclusions;105
7.8;Chapter 8. Types of metric;106
7.8.1;Types of metric;108
7.8.1.1;Introduction;108
7.8.1.2;Simple measures;109
7.8.1.3;The Halstead complexity metrics;110
7.8.1.4;Control-flow complexity metrics;111
7.8.1.5;Interface-complexity metrics;111
7.8.1.6;Dangerous situation-detection metrics;113
7.8.1.7;Anomaly-detection metrics;113
7.9;Chapter 9. Software reliability modelling — prospects and perspective;116
7.9.1;Software reliability modelling —prospects and perspective;118
7.9.1.1;Introduction;118
7.9.1.2;Hardware reliability models;119
7.9.1.3;The relevancy of statistical models as software reliability models;120
7.9.1.4;Probability statistics and causality in software reliability;123
7.10;Chapter 10. Testing for the achievement of software reliability;130
7.10.1;Testing for the achievement of software reliability;132
7.10.1.1;Introduction;132
7.10.1.2;Assessment of reliability;133
7.10.1.3;Achievement of reliability;138
7.10.1.4;Conclusions;140
7.11;Chapter 11. Metrics in practice;142
7.11.1;Metrics in practice;144
7.11.1.1;Introduction;144
7.11.1.2;Software development metrics;144
7.11.1.3;Error counting;146
7.11.1.4;Size and complexity metrics;147
7.11.1.5;System evolution;149
7.11.1.6;Conclusions;155
7.12;Chapter 12. Software development cost models;156
7.12.1;Software development cost models;158
7.12.1.1;Background;158
7.12.1.2;Overview of software cost model philosophy;158
7.12.1.3;Current models;167
7.12.1.4;Research areas for the future;172
7.12.1.5;Appendix;173
7.13;Chapter 13: Software reliability data collection: problems and standards;176
7.13.1;Software reliability data collection: problems and standards;178
7.13.1.1;Introduction;178
7.13.1.2;Software reliability measurement: theory and practice;179
7.13.1.3;Problems with software failure data;181
7.13.1.4;Standard for software failure data collection;184
7.13.1.5;Structure of database to contain software failure data;186
7.13.1.6;Functions to extract sets of reliability data;192
7.14;Chapter 14: A non-parametric approach to software reliability, using complete monotonicity;194
7.14.1;A non-parametric approach to software reliability, using complete monotonicity;196
7.14.1.1;Introduction;196
7.14.1.2;Reliability growth models and complete monotonicity;196
7.14.1.3;Problem formulation;197
7.14.1.4;The optimal solution;199
7.14.1.5;Monte Carlo data;200
7.14.1.6;Performance of the non-parametric approach;202
7.14.1.7;Performance of parametric models;204
7.14.1.8;Conclusions;206
7.14.1.9;Acknowledgement;206
7.15;Chapter 15: Applications of time series models to software reliability analysis;208
7.15.1;Applications of time series models to software reliability analysis;210
7.15.1.1;Introduction and overview;210
7.15.1.2;A Fourier series model for describing software failures;210
7.15.1.3;A random coefficient autoregressive model for monitoring software reliability growth;212
7.15.1.4;Ramifications of the random coefficient autoregressive model;216
7.15.1.5;Comparison of software reliability growth models;217
7.15.1.6;Conclusion;218
7.15.1.7;Acknowledgements;218
7.16;Chapter 16: An exploratory approach to software reliability measurement;220
7.16.1;An exploratory approach to software reliability measurement;222
7.16.1.1;Introduction;222
7.16.1.2;Exploratory data analysis techniques;223
7.16.1.3;Exploration of software reliability data;223
7.16.1.4;What data should be explored?;236
7.16.1.5;Conclusions;238
7.17;Chapter 17: Proportional hazards modelling of software failure data;240
7.17.1;Proportional hazards modelling of software failure data;242
7.17.1.1;Introduction;242
7.17.1.2;Other modelling techniques;243
7.17.1.3;Origins of PHM;243
7.17.1.4;Illustrative example: Musa system 1;245
7.17.1.5;Applications of PHM in software reliability modelling;246
7.17.1.6;Conclusions;253
7.18;Invited Paper references;254
8;Part 2: Analysis;276
8.1;Chapter 1: Introduction;278
8.1.1;Software reliability: basic concepts,the why and wherefore;280
8.1.1.1;Definition;280
8.1.1.2;Why is software reliability achievement important?;282
8.1.1.3;Why software is unreliable;283
8.1.1.4;Software reliability versus hardware and system reliability;283
8.1.1.5;Methods of achieving reliability in software;284
8.1.1.6;Why is software reliability measurement important?;285
8.1.1.7;The relationship of reliability to other measures;286
8.1.1.8;Methods of measuring reliability in software;286
8.1.2;History of softwarereliability modelling;288
8.1.2.1;Too many similar models;288
8.1.2.2;Early models;288
8.1.2.3;'Model wars';289
8.1.2.4;Choice of model;291
8.1.2.5;Common limitations of models;291
8.1.2.6;New approaches;292
8.2;Chapter 2: Achievement of software reliability;294
8.2.1;Overview and management;296
8.2.1.1;Imperfect software;296
8.2.1.2;Achievement of software reliability;297
8.2.1.3;The present view;299
8.2.1.4;The management contribution to software reliability;301
8.2.2;Formal methods;304
8.2.2.1;The imprecision of natural language;304
8.2.2.2;The software development cycle;305
8.2.2.3;Formal approaches to requirements;306
8.2.2.4;Formal specification languages;307
8.2.2.5;Proofs of program correctness;308
8.2.2.6;Design and code inspections;311
8.2.3;Fault tolerance, testing and other means of achieving reliability;314
8.2.3.1;Fault tolerance;314
8.2.3.2;Testing;318
8.2.3.3;Other means of achieving reliability;320
8.2.3.4;Conclusion;322
8.2.4;Hardware/software systems;324
8.2.4.1;The integrated problem;324
8.2.4.2;Software fault-tree analysis;324
8.2.4.3;Failure modes and effects analysis;325
8.2.4.4;Applications;325
8.2.4.5;Combined hardware/software prediction;327
8.3;Chapter 3: Software reliability models;330
8.3.1;Introduction to models;332
8.3.1.1;Why measure?;332
8.3.1.2;The fundamental problem;332
8.3.1.3;Terminology;333
8.3.1.4;The random nature of software failure;335
8.3.1.5;How many faults?;336
8.3.1.6;How to measure 'time';338
8.3.1.7;Techniques of parameter estimation;339
8.3.2;Description of individual models;340
8.3.2.1;Classification of models;340
8.3.2.2;Early models;340
8.3.2.3;Later models;344
8.3.3;A unified approach, comparison of models and criticisms;350
8.3.3.1;A unified approach;350
8.3.3.2;Comparison of models;352
8.3.3.3;Conclusion;357
8.4;Chapter 4: Relationship to software metrics;358
8.4.1;Relationship to software metrics;360
8.4.1.1;Introduction;360
8.4.1.2;The nature of metrics;360
8.4.1.3;Halstead's Software Science;360
8.4.1.4;Current state of software metrics;362
8.4.1.5;Classes of metric;363
8.4.1.6;Use of metrics;363
8.4.1.7;Metrics in practice;364
8.4.1.8;Inspection data;366
8.4.1.9;Program property models;371
8.5;Chapter 5: Costs;376
8.5.1;Development cost models;378
8.5.1.1;Introduction: costing generally;378
8.5.1.2;Methods of estimating development cost;378
8.5.1.3;The Rayleigh curve (and Parr);382
8.5.1.4;Criticisms of development cost models;383
8.5.1.5;Cost models versus reliability models;386
8.5.2;Software life-cycle cost models;388
8.5.2.1;Mathematical approaches to total life-cycle cost modelling;388
8.5.2.2;Maintenance cost modelling;390
8.6;Chapter 6: Recent developmentsin modelling;394
8.6.1;Recent developments in modelling;396
8.6.1.1;Adaptive models;396
8.6.1.2;Distribution-free modelling;397
8.6.1.3;Entropy models;399
8.6.1.4;Time series models;400
8.6.1.5;Proportional hazards modelling;404
8.6.1.6;The exploratory data analysis approach;407
8.6.1.7;The 'model-free' approach;410
8.6.1.8;Application of martingales;411
8.6.1.9;A plea for simplicity;413
8.7;Chapter 7: Data and data problems;416
8.7.1;Data and data problems;418
8.7.1.1;Published and available data;418
8.7.1.2;Data collection and reporting systems;420
8.8;Chapter 8: Current research initiatives;426
8.8.1;Current research initiatives;428
8.8.1.1;The Alvey Programme;428
8.8.1.2;European projects;431
8.9;Analysis references;434
9;Part 3: Bibliography;452
9.1;An annotated bibliography of software reliability;454
9.1.1;An annotated bibliography of software reliability;456
9.1.1.1;Introduction;456
9.1.1.2;Abstracts;457
9.1.1.3;The software environment;457
9.1.1.4;Software measurement and quality control;459
9.1.1.5;Software verification and validation;460
9.1.1.6;Software testing and debugging;461
9.1.1.7;Software fault tolerance;463
9.1.1.8;Software reliability — theory and classic models;463
9.1.1.9;Software reliability — theory and practice;465
9.1.1.10;Software — future developments;468
9.1.1.11;Keeping up to date — useful journals;469
9.1.1.12;Reference sources;469
10;Index;472
11;Subject and contributor index;474




