Advances in Systems Analysis, Software Engineering, and High Performance Computing - Enhancing Software Fault Prediction With Machine Learning
Latest Publications


TOTAL DOCUMENTS

7
(FIVE YEARS 0)

H-INDEX

0
(FIVE YEARS 0)

Published By IGI Global

9781522531852, 9781522531869

To improve the software quality the number of errors or faults must be removed from the software. This chapter presents a study towards machine learning and software quality prediction as an expert system. The purpose of this chapter is to apply the machine learning approaches such as case-based reasoning to predict software quality. Five different similarity measures, namely, Euclidean, Canberra, Exponential, Clark and Manhattan are used for retrieving the matching cases from the knowledgebase. The use of different similarity measures to find the best method significantly increases the estimation accuracy and reliability. Based on the research findings in this book it can be concluded that applying similarity measures in case-based reasoning may be a viable technique for software fault prediction


This chapter attempts to develop a system to predict rate of improvement of the software quality at a particular point of time with respect to the number of lines of code present in the software. Having calculated the error level (EL) and degree of excellence (DE) at two points in time, I can move forward towards the estimation of the rate of improvement of the software quality with respect to time. This parameter can be used to judge the amount of effort put into while developing software and can add a new dimension to the understanding of software quality in software engineering domain.


This chapter enlists and presents an overview of various machine learning approaches. It also explains the machine learning techniques used in the area of software engineering domain especially case-based reasoning method. Case-based reasoning is used to predict software quality of the system by examining a software module and predicting whether it is faulty or non-faulty. In this chapter an attempt has been made to propose a model with the help of previous data which is used for prediction. In this chapter, how machine learning technique such as case-based reasoning has been used for error estimation or fault prediction. Apart from case-based reasoning, some other types of learning methods have been discussed in detail.


In this chapter, some new ideas about estimation and evaluation of the quality of software. At the outset, it deals with the possibilities of using a standard conversion method so that lines of code from any language may be compared and be used as a uniform metric. The present work is also credited through the introduction of some new terms like efficiency and variation to understand the change in software quality. The main focus is to evaluate and estimate software quality at a particular stage of software development. This is not average quality understanding, but quality estimation at a particular instance. One of the salient aspects of the method suggested is that the developer can evaluate the work at any stage using the methods given to review the present status and make future plans to meet the required target.


The basic aim of software quality (fault) is to identify error prone tasks as the cost can be minimized with advance knowledge about the errors and this early treatment of error will enhance the software quality. Today quality is critical for survival and success. Customers demand it. Software is now a global business and organizations will not succeed in this global market unless they produce quality products/services and unless the organizations are also perceived by customers to produce quality products and services. I need measures of the characteristics and quality parameters of the development process and its stages, as well as metrics and models to ensure that the development process is under control and moving toward the product's quality objectives.


As I know large numbers of techniques and models have already been worked out in the area of error estimation. Identifying and locating errors in software projects is a complicated job. Particularly, when project sizes grow. This chapter enlists and reviews existing work to predict the quality of the software using various machine learning techniques. In this chapter key finding from prior studies in the field of software fault prediction has been discussed. Various advantages and disadvantages of the methods used for software quality prediction, have been explained in a detail. What are the problems solved are also mentioned in this section. Description of earlier research work and present research work has summarized in one place.


The effort of this chapter is directed towards introducing a new mathematical model to understand the state of quality of software by calculating parameters such as the time gap and quality gap with relation to some predefined standard software quality or in relation to some chalked out software quality plan. This chapter deals about the status of the quality of the software that is being developed. This chapter also indicates methods to calculate the difference in the quality of the software being developed and the model software which has been decided upon as the criteria for comparison. These methods will provide a better understanding of quality as compared to other standards.


Sign in / Sign up

Export Citation Format

Share Document