Multi-Criteria Decision Models in Software Reliability: Methods and Applications

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book provides insights into contemporary issues and challenges in multi-criteria decision models. It is a useful guide for identifying, understanding and categorising multi-criteria decision models, and ultimately implementing the analysis for effective decision-making. The use of multi-criteria decision models in software reliability engineering is a relatively new field of study, and this book collects all the latest methodologies, tools and techniques in one single volume. It covers model selection, assessment, resource allocation, release management, up-grade planning, open-source systems, bug tracking system management and defect prediction. Multi-Criteria Decision Models in Software Reliability: Methods and Applications will cater to researchers, academicians, post-graduate students, software developers, software reliability engineers and IT managers.

Author(s): Ashish Mishra, Nguyen Thi Dieu Linh, Manish Bhardwaj, and Carla M. A. Pinto
Series: Information Technology, Management and Operations Research Practices
Publisher: CRC Press
Year: 2022

Language: English
Pages: 320
City: Boca Raton

Cover
Half Title
Series Page
Title Page
Copyright Page
Table of Contents
Preface
Editors
Contributors
Chapter 1 Enhancing Software Reliability by Evaluating Prediction Accuracy of CBF Algorithm Using Machine Learning
1.1 Introduction
1.2 Background Details & Related Work
1.2.1 Software Reliability
1.2.2 Criterion to Measure Performance of SGRM
1.3 Machine Learning: A Brief Overview
1.3.1 Supervised Learning
1.3.2 Unsupervised Learning
1.3.2.1 Categorisation of Unsupervised Machine Learning
1.3.3 Semi-Supervised Learning
1.3.4 Reinforcement Learning
1.3.4.1 Algorithms Used in Machine Learning
1.4 Related Work
1.5 Machine Learning Techniques & Methodology Used for Reliability Assessment
1.5.1 Data Set
1.5.2 Collaborative Filtering Technique
1.6 Experimental Set-up
1.6.1 Test Data Set – QUERY vs PROBE
1.7 Results Evaluation
1.7.1 Evaluate the Recommendation from Both Algorithms – RMSE and MAE
1.8 Conclusions
References
Chapter 2 Significance of Machine Learning and Deep Learning in Development of Artificial Intelligence
2.1 Introduction
2.2 Related Works
2.3 Proposed System
2.3.1 Image Pre-Processing
2.3.2 Feature Extraction
2.3.3 Classifications
2.3.3.1 Support Vector Machine
2.3.3.2 Convolutional Neural Network
2.3.3.3 DBN
2.3.3.4 Random Forest
2.3.4 Evaluation
2.4 Conclusions
References
Chapter 3 Implication of Soft Computing and Machine Learning Method for Software Quality, Defect and Model Prediction
3.1 Introduction: Overview of the Study
3.2 Background: Machine Learning for Developing Models
3.3 Related Study
3.4 Literature Review
3.5 Methodical Review: Software Defect Prediction Using Machine Learning
3.5.1 Approach of Software Defect Prediction
3.5.2 Defect Prediction by Soft Computing Method
3.5.3 Data Mining in Imperfection Expectation
3.6 Machine Learning Approach for Quality Assessment and Prediction in Large Software Organisations References
3.6.1 Assessing Software Quality Attributes
3.6.1.1 Software Quality
3.6.2 Quality Prediction Using Threshold Euclidean Distance Model
3.7 Model Selection Using Machine Learning
3.7.1 Choosing a SDLC Model
3.8 Results and Discussion
3.9 Conclusions
References
Chapter 4 Ambiguity Based on Working and Functionality in Deployed Software from Client Side in Prototype SDLC Model Scenario
4.1 Introduction
4.2 Background
4.2.1 Customer Relationship Management Software
4.2.1.1 Major Applications of CRM
4.2.2 Overview of SDLC and Prototype Model
4.2.2.1 Prototyping Approach
4.3 Related Study: Prototyping Model Based on Procedure Method
4.4 Literature Review
4.5 Methodical Review: Types of Requirement Ambiguities and Their Detection
4.5.1 Ambiguity in Requirements Engineering
4.5.2 Types of Ambiguity
4.5.3 Approach of Literature Segmentation for Resolution of Ambiguity Detection
4.6 Methodology
4.6.1 Data Collection and Survey
4.6.2 Proposed Model
4.6.2.1 Enhanced Prototype Model
4.6.2.2 DANS Software Development Method
4.6.2.3 Inception Stage
4.6.2.4 Definition Stage
4.6.2.5 Configuration Stage
4.6.2.6 Repetitive Stage
4.7 Results and Discussion
4.7.1 Tools for Detecting Ambiguity
4.7.1.1 DARA Architecture
4.7.1.2 The Ambiguity-Resolving Module
4.7.2 Risk Analysis Due to Ambiguity in Requirements
4.8 Conclusions
References
Chapter 5 Selection of Software Programmer Using Fuzzy MCDM Technique in Software Engineering Scenario
5.1 Introduction
5.2 Review of Ranking-Based Optimisation Techniques
5.3 Effort Multipliers as Criteria and Alternative in Software Engineering Scenario
5.4 Fuzzy MCDM
5.4.1 FAHP
5.4.2 Fuzzy Technique for Order Preference by Similarity to Ideal Solution (FTOPSIS)
5.4.3 Integrated FAHP and FTOPSIS Method
5.5 Evaluation of Programmers' Rank Using FAHP
5.6 Appraisal of Programmers' Rank Using Integrated FAHP and FTOPSIS
5.7 Comparative Analysis
5.8 Conclusions
References
Chapter 6 Implementing Multi-Criteria Decision-Making to Detect Potential Onset of Heart Disease
6.1 Introduction
6.2 Literature Review
6.3 Methodology
6.3.1 Multi-Criteria Decision-Making (MCDM) Algorithm
6.3.1.1 Categorisation of Features
6.3.1.2 Normalisation of Data
6.3.1.3 Vector Normalisation
6.3.1.4 Enhanced Accuracy Normalisation
6.3.1.5 Entropy Method to Assign Weightage
6.3.1.6 Getting the Final Score
6.3.2 Dataset
6.4 Results and Analysis
6.4.1 Applying Vector Normalisation
6.4.2 Applying Enhanced Accuracy Normalisation
6.5 Conclusion and Future Scope
References
Chapter 7 State-of-the-Art Literature Review on Classification of Software Reliability Models
7.1 Introduction
7.1.1 Basic Terminology
7.2 Software Reliability Models
7.2.1 Some More Applicable Software Reliability Models
7.2.1.1 Non-Homogeneous Poisson Process (NHPP)
7.2.1.2 S-Shaped Software Reliability Growth Model
7.2.1.3 Imperfect Debugging
7.2.1.4 Soft Computing
7.3 Classification of Software Reliability Models
7.3.1 Analytical Model
7.3.2 Dynamic or Probabilistic Model
7.3.2.1 Discrete Time Models
7.3.2.2 Continuous Time Models
7.3.3 Static or Deterministic Model
7.4 Procedures and Tools
7.5 Literature Review
7.6 Conclusions
References
Chapter 8 Survey on Software Reliability Modelling and Quality Improvement Techniques
8.1 Introduction
8.2 Reliability Curve
8.3 Review of Software Reliability Model
8.3.1 Model of J-M De-Eutrophication
8.3.2 Model of Enhanced NHPP
8.3.3 Model of Musa Execution Time
8.3.4 Model of Nelson
8.3.5 Model of Littlewood-Verrall Bayesian
8.3.6 Model of White Box Software Reliability
8.4 Metrics of Software Reliability
8.4.1 Product Metrics
8.4.2 Project Management Metrics
8.4.3 Process Metrics
8.4.4 Metrics of Fault and Failure
8.5 Improvement Techniques of Software Reliability
8.5.1 Software Testing
8.5.1.1 Principles of Software Testing
8.5.1.2 Reliability Testing Importance
8.5.2 Type of Reliability Testing
8.5.3 Verification and Validation of Software
8.5.3.1 Validation Testing
8.5.3.2 Criteria of Validation Testing
8.6 Conclusions
References
Chapter 9 Multi-Criteria Decision Making for Software Vulnerabilities Analysis
9.1 Introduction
9.2 Causes of Vulnerabilities
9.3 Vulnerability Detection Methods
9.3.1 List of Software Vulnerability Methods
9.3.2 Software Vulnerabilities Detection Tool
9.4 Multi-Criteria Decision-Making (MCDM)
9.4.1 List of MCDM Techniques
9.4.2 Notations Used in MCDM
9.4.3 Important Steps Used in MCDM Models to Obtain the Ranking of Alternatives
9.5 Analysis of Software Vulnerabilities Using MCDM
9.5.1 Solution Using Analytic Hierarchy Process (AHP)
9.5.2 Simple Additive Weighting Method
9.5.3 Weighted Product Model
9.6 Outcome from the Mathematical Model
9.7 Conclusions
References
Chapter 10 On a Safety Evaluation of Artificial Intelligence-Based Systems to Software Reliability
10.1 Introduction
10.2 What Is Artificial Intelligence?
10.3 Does Artificial Intelligent Require a SIL?
10.4 Looking Inside AI
10.5 Software Reliability
10.6 Software Reliability Discussion
10.7 Characteristics of AI Software
10.8 Software Safety
10.9 Challenges of the Research
10.10 Conclusions
References
Chapter 11 Study and Estimation of Existing Software Quality Models to Predict the Reliability of Component-Based Software
11.1 Introduction
11.2 Related Work
11.2.1 Preliminary Work
11.3 Component-Based Reliability Prediction
11.4 Reliability Modelling
11.4.1 Basic Concepts
11.4.2 Component Reliability Specifications
11.4.2.1 Components, Services and Service Implementations
11.4.2.2 Failure Models
11.4.2.3 Structures with Fault Tolerance
References
Chapter 12 Performance of Multi-Criteria Decision-Making Model in Software Engineering – A Survey
12.1 Introduction
12.2 Previous Work
12.2.1 Different Approaches of MCDM
12.2.1.1 Analytic Hierarchy Process
12.2.1.2 Fuzzy Analytic Hierarchy Process
12.2.1.3 TOPSIS
12.2.1.4 ELECTRE
12.2.1.5 Grey Theory
12.2.1.6 ANP
12.2.1.7 VIKOR
12.2.1.8 PROMETHEE
12.2.1.9 SMARTER
12.2.1.10 Wiegers
12.2.1.11 Previous Research Work
12.2.2 FMCDM Application
12.2.2.1 Fuzzy MCDM Applications
12.2.2.2 Fuzzy MCDM in Performance Evaluation
12.3 Survey Research Outputs
12.3.1 Comparison of AHP and Fuzzy AHP
12.3.1.1 Analytic Hierarchy
12.4 Research Directions in MCDM
12.5 Conclusions
References
Chapter 13 Optimization Software Development Plan
13.1 Introduction
13.2 Start with the Product Vision and How It Can Be Represented in a Roadmap
13.3 What Is Involved in Release Planning?
13.4 Enhance Collaboration and Coordination
13.4.1 Reduce Dev/Test Cycle Time
13.4.2 Monitor Quality of Release Pipelines
13.4.3 Ensure Accurate Test Coverage
13.4.4 Get Insights and Reporting
13.5 Application of Release Plan
13.6 Working Plan Releases More Effectively
13.6.1 Examine Your Current Release Management Procedure
13.6.2 Create a Corporate Release Plan
13.6.3 Define the Optimal Release Management Process
13.6.4 Put Money into the Appropriate Individuals
13.6.5 Make Use of the Appropriate Tools
13.6.6 Make the Most of the Testing Environment
13.6.7 Define Stages and Activities to Govern
13.6.8 Ensure Stakeholder Engagement Is Transparent
13.6.9 Make Ongoing Communication Possible
13.6.10 Keep an Eye on the Numbers
13.7 Conclusion
References
Chapter 14 A Time-Variant Software Stability Model for Error Detection
14.1 Introduction
14.1.1 Analysing Climate Data
14.1.2 Prediction of Long-Term Pier Scour
14.1.3 Prediction of Streamflow and Floods
14.1.4 Flood and Flood-Induced Scour Behaviour of Bridge Foundations
14.1.5 Effects of Long-Term Corrosion
14.1.6 Conclusions
References
Chapter 15 Software Vulnerability Analysis
15.1 Introduction
15.1.1 The Frame of Software Vulnerability Evaluation Based on Machine Learning Technique
15.2 Top 10 Most Common Software Vulnerabilities
15.2.1 Broken Access Control
15.2.2 Cryptographic Failures
15.2.3 Injection
15.2.4 Insecure Design
15.2.5 Security Misconfiguration
15.2.6 Vulnerable and Outdated Components
15.2.7 Identification and Authentication Failures
15.2.8 Software and Data Integrity Failures
15.2.9 Security Logging and Monitoring Failures
15.2.10 On the Server-Side Request/Response Forgery Attack
15.3 Steps to Prevent Software Vulnerabilities
15.3.1 Create Software Design Requirements
15.3.2 Use a Coding Standard
15.3.3 Test Your Software
15.3.4 Vulnerability Assessment Tools
15.4 Top 10 Vulnerability Evaluation Tools
15.5 Vulnerability Assessment and Penetration Testing
15.5.1 Scope
15.5.2 Black Box Testing
15.5.3 Grey Box Testing
15.5.4 White Box Testing
15.5.5 Information Gathering
15.5.6 Vulnerability Detection
15.5.7 Information Analysis and Planning
15.5.8 Penetration Testing
15.5.9 Privilege Escalation
15.6 Results Analysis
15.7 Reporting
15.7.1 Clean-Up Activity of Vulnerability
15.8 Conclusions
References
Index