Comparative Analysis of Classification Methods for Prediction Software Fault Proneness Using Process Metrics (original) (raw)

Using Source Code Metrics and Ensemble Methods for Fault Proneness Prediction

2017

Software fault prediction model are employed to optimize testing resource allocation by identifying fault-prone classes before testing phases. Several researchers' have validated the use of different classification techniques to develop predictive models for fault prediction. The performance of the statistical models are proven to be influenced by the training and testing dataset. Ensemble method learning algorithms have been widely used because it combines the capabilities of its constituent models towards a dataset to come up with a potentially higher performance as compared to individual models (improves generalizability). In the study presented in this paper, three different ensemble methods have been applied to develop a model for predicting fault proneness. The efficacy and usefulness of a fault prediction model also depends on the source code metrics which are considered as the input for the model. In this paper, we propose a framework to validate the source code metrics ...

Analysis of Software Fault Prediction Metrics

This research emphasizes the need to find out the faults from software system to evaluate it for its quality. Software metrics can be used to collect information regarding structural properties of a software design which can be further statistically analyzed, interpreted and linked to its quality. Metrics information can be collected from internal design like logic & algorithmic details as well as from the external design i.e. interfaces of software. There are various software metrics exists which can measure the faults from the software system, in this paper various faults prediction and classification techniques has been studied to find out the faults from the software system. This research identifies a set of metrics to measure and classify the faults from the software systems.

Predicting Software Faults Using Software Metrics: A Review

This paper presents a survey of different techniques used to predict software faults. It studies various techniques, their advantages and limitations in predicting the software defects. Software metrics find essence in predicting software defects and thus enhancing the quality of a software, while keeping the costs and efforts to minimal. As there has been a gap between academy and industry in this field, a technique is examined for bridging the gap by studying practical implementation that are feasible for the industry. Various papers have been studied and various methods proposed have been analyzed for their possible shortcomings and enhancements. The results and the findings of various authors are channelized to examine the problems and their possible solutions. The approach of Bayesian Belief Nets is discussed at the end of the paper as a candidate for improved decision making in the industry whenever uncertainty reigns over decision making.

An Empirical Study of Classification Models Using AUC-ROC Curve for Software Fault Predictions

International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 2023

Software bug prediction is the process of identifying software modules that are likely to have bugs by using some fundamental project resources before the real testing starts. Due to high cost in correcting the detected bugs, it is advisable to start predicting bugs at the early stage of development instead of at the testing phase. There are many techniques and approaches that can be used to build the prediction models, such as machine learning. We have studied nine different types of datasets and seven types of machine learning techniques have been identified. As for performance measures, both graphical and numerical measures are used to evaluate the performance of models. A few challenges exist when constructing a prediction model. In this study, we have narrowed down to nine different types of datasets and seven types of machine learning techniques have been identified. As for the performance measure, both graphical and numerical measures are used to evaluate the performance of the models. There are a few challenges in constructing the prediction model. Thus, more studies need to be carried out so that a well-formed result is obtained. We also provide a recommendation for future research based on the results we got from this study.

An empirical analysis of the effectiveness of software metrics and fault prediction model for identifying faulty classes

Computer Standards & Interfaces

Software fault prediction models are used to predict faulty modules at the very early stage of software development life cycle. Predicting fault proneness using source code metrics is an area that has attracted several researchers' attention. The performance of a model to assess fault proneness depends on the source code metrics which are considered as the input for the model. In this work, we have proposed a framework to validate the source code metrics and identify a suitable set of source code metrics with the aim to reduce irrelevant features and improve the performance of the fault prediction model. Initially, we applied a t-test analysis and univariate logistic regression analysis to each source code metric to evaluate their potential for predicting fault proneness. Next, we performed a correlation analysis and multivariate linear regression stepwise forward selection to find the right set of source code metrics for fault prediction. The obtained set of source code metrics are considered as the input to develop a fault prediction model using a neural network with five different training algorithms and three different ensemble methods. The effectiveness of the developed fault prediction models are evaluated using a proposed cost evaluation framework. We performed experiments on fifty six Open Source Java projects. The experimental results reveal that the model developed by considering the selected set of source code metrics using the suggested source code metrics validation framework as the input achieves better results compared to all other metrics. The experimental results also demonstrate that the fault prediction model is best suitable for projects with faulty classes less than the threshold value depending on fault identification efficiency (low-48.89%, median-39.26%, and high-27.86%).

Metrics quality for fault prediction

Metrics for software fault prediction has been intensively investigated in recent year and is still an important research topic. To improve software quality different studies are done on how to use software metrics to predict faults in software modules. This paper will discuss a study in which prediction models were used in five commercial products to detect fault-prone modules and the effect of several metrics. In this study the binary logistic regression method is used to generate prediction models. The quality of complexity metrics for fault prediction is studied and the efficiency can be influenced by changing the cutoff value. In this study the suggestion is made that fault prediction may be improved if the dataset selection and the cutoff value are based on specific project properties. The second study in this paper is one that was performed by systematically reviewing literature from 106 papers dated from 1991 to 2011 in order to determine the quality of software metrics in predicting fault-prone modules. The context and performance of the different metrics are investigated in order to determine which metrics performed better in a certain phase of the Software Development Life Cycle(SDLC). Object oriented software metrics were mostly used in comparison with traditional source code metrics and process metrics. The outcome was that object-oriented metrics and process metrics performed better than traditional complexity and size metrics in predicting faults. Object-oriented metrics seemed to perform better in post release software and process metrics are the winner in predicting post release software modules. Although the above results, more study must be done on large industrial to find out which metrics should be used to predict software fault in a given context.

A Review on Software Defect Prediction Techniques Using Product Metrics

International Journal of Database Theory and Application, 2017

Presently, complexity and volume of software systems are increasing with a rapid rate. In some cases it improves performance and brings efficient outcome, but unfortunately in several situations it leads to elevated cost for testing, meaningless outcome and inferior quality, even there is no trustworthiness of the products. Fault prediction in software plays a vital role in enhancing the software excellence as well as it helps in software testing to decrease the price and time. Conventionally, to describe the difficulty and calculate the duration of the programming, software metrics can be utilized. To forecast the amount of faults in module and utilizing software metrics, an extensive investigation is performed. With the purpose of recognizing the causes which importantly enhances the fault prediction models related to product metrics, this empirical research is made. This paper visits various software metrics and suggested procedures through which software defect prediction is enhanced and also summarizes those techniques.

Statistical and Machine Learning Methods for Software Fault Prediction Using CK Metric Suite: A Comparative Analysis

ISRN Software Engineering, 2014

Experimental validation of software metrics in fault prediction for object-oriented methods using statistical and machine learning methods is necessary. By the process of validation the quality of software product in a software organization is ensured. Object-oriented metrics play a crucial role in predicting faults. This paper examines the application of linear regression, logistic regression, and artificial neural network methods for software fault prediction using Chidamber and Kemerer (CK) metrics. Here, fault is considered as dependent variable and CK metric suite as independent variables. Statistical methods such as linear regression, logistic regression, and machine learning methods such as neural network (and its different forms) are being applied for detecting faults associated with the classes. The comparison approach was applied for a case study, that is, Apache integration framework (AIF) version 1.6. The analysis highlights the significance of weighted method per class ...

Software Defect Prediction Framework Using Hybrid Software Metric

JOIV : International Journal on Informatics Visualization

Software fault prediction is widely used in the software development industry. Moreover, software development has accelerated significantly during this epidemic. However, the main problem is that most fault prediction models disregard object-oriented metrics, and even academician researcher concentrate on predicting software problems early in the development process. This research highlights a procedure that includes an object-oriented metric to predict the software fault at the class level and feature selection techniques to assess the effectiveness of the machine learning algorithm to predict the software fault. This research aims to assess the effectiveness of software fault prediction using feature selection techniques. In the present work, software metric has been used in defect prediction. Feature selection techniques were included for selecting the best feature from the dataset. The results show that process metric had slightly better accuracy than the code metric.