Artificial neural network for software reliability prediction / by Manjubala Bisi and Neeraj Kumar Goyal.

By: Bisi, Manjubala [ author.]
Contributor(s): Goyal, Neeraj Kumar [ author.]
Language: English Series: Performability engineering seriesPublisher: Hoboken, NJ : John Wiley & Sons ; 2017Description: 1 online resourceContent type: text Media type: computer Carrier type: online resourceISBN: 9781119223542 ; 9781119223931 Subject(s): Neural networks (Computer science) | Computer software -- ReliabilityGenre/Form: Electronic books. DDC classification: 006.32 Online resources: Full text available at Wiley Online Library Click here to view
Contents:
TABLE OF CONTENTS Preface xi Acknowledgement xv Abbreviations xvii 1 Introduction 1 1.1 Overview of Software Reliability Prediction and Its Limitation 6 1.2 Overview of the Book 8 1.2.1 Predicting Cumulative Number of Software Failures in a Given Time 9 1.2.2 Predicting Time Between Successive Software Failures 11 1.2.3 Predicting Software Fault-Prone Modules 13 1.2.4 Predicting Software Development Efforts 15 1.3 Organization of the Book 17 2 Software Reliability Modelling 19 2.1 Introduction 19 2.2 Software Reliability Models 20 2.2.1 Classification of Existing Models 21 2.2.2 Software Reliability Growth Models 25 2.2.3 Early Software Reliability Prediction Models 27 2.2.4 Architecture based Software Reliability Prediction Models 29 2.2.5 Bayesian Models 31 2.3 Techniques used for Software Reliability Modelling 31 2.3.1 Statistical Modelling Techniques 31 2.3.2 Regression Analysis 35 2.3.3 Fuzzy Logic 37 2.3.3.1 Fuzzy Logic Model for Early Fault Prediction 38 2.3.3.2 Prediction and Ranking of Fault-prone Software Modules using Fuzzy Logic 39 2.3.4 Support Vector Machine 40 2.3.4.1 SVM for Cumulative Number of Failures Prediction 41 2.3.5 Genetic Programming 45 2.3.6 Particle Swarm Optimization 49 2.3.7 Time Series Approach 50 2.3.8 Naive Bayes 51 2.3.9 Artificial Neural Network 52 2.4 Importance of Artificial Neural Network in Software Reliability Modelling 54 2.4.1 Cumulative Number of Software Failures Prediction 55 2.4.2 Time Between Successive Software Failures Prediction 58 2.4.3 Software Fault-Prone Module Prediction 60 2.4.4 Software Development Efforts Prediction 64 2.5 Observations 67 2.6 Objectives of the Book 70 3 Prediction of Cumulative Number of Software Failures 73 3.1 Introduction 73 3.2 ANN Model 76 3.2.1 Artificial Neural Network Model with Exponential Encoding 77 3.2.2 Artificial Neural Network Model with Logarithmic Encoding 77 3.2.3 System Architecture 78 3.2.4 Performance Measures 80 3.3 Experiments 81 3.3.1 Effect of Different Encoding Parameter 82 3.3.2 Effect of Different Encoding Function 83 3.3.3 Effect of Number of Hidden Neurons 86 3.4 ANN-PSO Model 88 3.4.1 ANN Architecture 89 3.4.2 Weight and Bias Estimation Through PSO 91 3.5 Experimental Results 93 3.6 Performance Comparison 94 4 Prediction of Time Between Successive Software Failures 103 4.1 Time Series Approach in ANN 105 4.2 ANN Model 106 4.3 ANN- PSO Model 113 4.4 Results and Discussion 116 4.4.1 Results of ANN Model 116 4.4.2 Results of ANN-PSO Model 121 4.4.3 Comparison 125 5 Identification of Software Fault-Prone Modules 131 5.1 Research Background 133 5.1.1 Software Quality Metrics Affecting Fault-Proneness 134 5.1.2 Dimension Reduction Techniques 135 5.2 ANN Model 137 5.2.1 SA-ANN Approach 139 5.2.1.1 Logarithmic Scaling Function 139 5.2.1.2 Sensitivity Analysis on Trained ANN 140 5.2.2 PCA-ANN Approach 142 5.3 ANN-PSO Model 145 5.4 Discussion of Results 148 5.4.1 Results of ANN Model 149 5.4.1.1 SA-ANN Approach Results 149 5.4.1.2 PCA-ANN Approach Results 152 5.4.1.3 Comparison Results of ANN Model 155 5.4.2 Results of ANN-PSO Model 162 5.4.2.1 Reduced Data Set 162 5.4.2.2 Comparison Results of ANN-PSO Model 163 6 Prediction of Software Development Efforts 175 6.1 Need for Development Efforts Prediction 178 6.2 Efforts Multipliers Affecting Development Efforts 178 6.3 Artificial Neural Network Application for Development Efforts Prediction 179 6.3.1 Additional Input Scaling Layer ANN Architecture 181 6.3.2 ANN-PSO Model 183 6.3.3 ANN-PSO-PCA Model 186 6.3.4 ANN-PSO-PCA-GA Model 188 6.3.4.1 Chromosome Design and Fitness Function 189 6.3.4.2 System Architecture of ANN-PSOPCA-GA Model 190 6.4 Performance Analysis on Data Sets 192 6.4.1 COCOMO Data Set 194 6.4.2 NASA Data Set 202 6.4.3 Desharnais Data Set 206 6.4.4 Albrecht Data Set 209 7 Recent Trends in Software Reliability 215 References 219 Appendix Failure Count Data Set 231 Appendix Time Between Failure Data Set 235 Appendix CM1 Data Set 241 Appendix COCOMO 63 Data Set 283 Index 289
Summary: Artificial neural network (ANN) has proven to be a universal approximator for any non-linear continuous function with arbitrary accuracy. This book presents how to apply ANN to measure various software reliability indicators: number of failures in a given time, time between successive failures, fault-prone modules and development efforts. The application of machine learning algorithm i.e. artificial neural networks application in software reliability prediction during testing phase as well as early phases of software development process is presented as well. Applications of artificial neural network for the above purposes are discussed with experimental results in this book so that practitioners can easily use ANN models for predicting software reliability indicators.
Tags from this library: No tags from this library for this title. Log in to add tags.
    Average rating: 0.0 (0 votes)
Item type Current location Home library Call number Status Date due Barcode Item holds
EBOOK EBOOK COLLEGE LIBRARY
COLLEGE LIBRARY
LIC Gateway
006.32 B5419 2017 (Browse shelf) Available CL-52042
Total holds: 0

ABOUT THE AUTHOR
Manjubala Bisi is currently an Assistant Professor in the Computer Science and Engineering Department, Kakatiya Institute of Technology and Science, Warangal, Telengana, India. She received her PhD from the Indian Institute of Technology Kharagpur in Reliability Engineering in 2015. Her research interests include software reliability modelling, artificial neural networks and soft computing techniques.

Neeraj Kumar Goyal is currently an Associate Professor in Subir Chowdhury School of Quality and Reliability, Indian Institute of Technology Kharagpur, India. He received his PhD from IIT Kharagpur in Reliability Engineering in 2006. His major areas of research are network /system reliability and software reliability. He has completed various research and consultancy projects for various organizations, e.g. DRDO, NPCIL, Vodafone, ECIL etc. He has contributed research papers to refereed international journals and conference proceedings.

TABLE OF CONTENTS
Preface xi

Acknowledgement xv

Abbreviations xvii

1 Introduction 1

1.1 Overview of Software Reliability Prediction and Its Limitation 6

1.2 Overview of the Book 8

1.2.1 Predicting Cumulative Number of Software Failures in a Given Time 9

1.2.2 Predicting Time Between Successive Software Failures 11

1.2.3 Predicting Software Fault-Prone Modules 13

1.2.4 Predicting Software Development Efforts 15

1.3 Organization of the Book 17

2 Software Reliability Modelling 19

2.1 Introduction 19

2.2 Software Reliability Models 20

2.2.1 Classification of Existing Models 21

2.2.2 Software Reliability Growth Models 25

2.2.3 Early Software Reliability Prediction Models 27

2.2.4 Architecture based Software Reliability Prediction Models 29

2.2.5 Bayesian Models 31

2.3 Techniques used for Software Reliability Modelling 31

2.3.1 Statistical Modelling Techniques 31

2.3.2 Regression Analysis 35

2.3.3 Fuzzy Logic 37

2.3.3.1 Fuzzy Logic Model for Early Fault Prediction 38

2.3.3.2 Prediction and Ranking of Fault-prone Software Modules using Fuzzy Logic 39

2.3.4 Support Vector Machine 40

2.3.4.1 SVM for Cumulative Number of Failures Prediction 41

2.3.5 Genetic Programming 45

2.3.6 Particle Swarm Optimization 49

2.3.7 Time Series Approach 50

2.3.8 Naive Bayes 51

2.3.9 Artificial Neural Network 52

2.4 Importance of Artificial Neural Network in Software Reliability Modelling 54

2.4.1 Cumulative Number of Software Failures Prediction 55

2.4.2 Time Between Successive Software Failures Prediction 58

2.4.3 Software Fault-Prone Module Prediction 60

2.4.4 Software Development Efforts Prediction 64

2.5 Observations 67

2.6 Objectives of the Book 70

3 Prediction of Cumulative Number of Software Failures 73

3.1 Introduction 73

3.2 ANN Model 76

3.2.1 Artificial Neural Network Model with Exponential Encoding 77

3.2.2 Artificial Neural Network Model with Logarithmic Encoding 77

3.2.3 System Architecture 78

3.2.4 Performance Measures 80

3.3 Experiments 81

3.3.1 Effect of Different Encoding Parameter 82

3.3.2 Effect of Different Encoding Function 83

3.3.3 Effect of Number of Hidden Neurons 86

3.4 ANN-PSO Model 88

3.4.1 ANN Architecture 89

3.4.2 Weight and Bias Estimation Through PSO 91

3.5 Experimental Results 93

3.6 Performance Comparison 94

4 Prediction of Time Between Successive Software Failures 103

4.1 Time Series Approach in ANN 105

4.2 ANN Model 106

4.3 ANN- PSO Model 113

4.4 Results and Discussion 116

4.4.1 Results of ANN Model 116

4.4.2 Results of ANN-PSO Model 121

4.4.3 Comparison 125

5 Identification of Software Fault-Prone Modules 131

5.1 Research Background 133

5.1.1 Software Quality Metrics Affecting Fault-Proneness 134

5.1.2 Dimension Reduction Techniques 135

5.2 ANN Model 137

5.2.1 SA-ANN Approach 139

5.2.1.1 Logarithmic Scaling Function 139

5.2.1.2 Sensitivity Analysis on Trained ANN 140

5.2.2 PCA-ANN Approach 142

5.3 ANN-PSO Model 145

5.4 Discussion of Results 148

5.4.1 Results of ANN Model 149

5.4.1.1 SA-ANN Approach Results 149

5.4.1.2 PCA-ANN Approach Results 152

5.4.1.3 Comparison Results of ANN Model 155

5.4.2 Results of ANN-PSO Model 162

5.4.2.1 Reduced Data Set 162

5.4.2.2 Comparison Results of ANN-PSO Model 163

6 Prediction of Software Development Efforts 175

6.1 Need for Development Efforts Prediction 178

6.2 Efforts Multipliers Affecting Development Efforts 178

6.3 Artificial Neural Network Application for Development Efforts Prediction 179

6.3.1 Additional Input Scaling Layer ANN Architecture 181

6.3.2 ANN-PSO Model 183

6.3.3 ANN-PSO-PCA Model 186

6.3.4 ANN-PSO-PCA-GA Model 188

6.3.4.1 Chromosome Design and Fitness Function 189

6.3.4.2 System Architecture of ANN-PSOPCA-GA Model 190

6.4 Performance Analysis on Data Sets 192

6.4.1 COCOMO Data Set 194

6.4.2 NASA Data Set 202

6.4.3 Desharnais Data Set 206

6.4.4 Albrecht Data Set 209

7 Recent Trends in Software Reliability 215

References 219

Appendix Failure Count Data Set 231

Appendix Time Between Failure Data Set 235

Appendix CM1 Data Set 241

Appendix COCOMO 63 Data Set 283

Index 289

Artificial neural network (ANN) has proven to be a universal approximator for any non-linear continuous function with arbitrary accuracy. This book presents how to apply ANN to measure various software reliability indicators: number of failures in a given time, time between successive failures, fault-prone modules and development efforts. The application of machine learning algorithm i.e. artificial neural networks application in software reliability prediction during testing phase as well as early phases of software development process is presented as well. Applications of artificial neural network for the above purposes are discussed with experimental results in this book so that practitioners can easily use ANN models for predicting software reliability indicators.

There are no comments for this item.

to post a comment.