2 research outputs found
A FRAMEWORK FOR SOFTWARE RELIABILITY MANAGEMENT BASED ON THE SOFTWARE DEVELOPMENT PROFILE MODEL
Recent empirical studies of software have shown a strong correlation between change history of files and their fault-proneness. Statistical data analysis techniques, such as regression analysis, have been applied to validate this finding. While these regression-based models show a correlation between selected software attributes and defect-proneness, in most cases, they are inadequate in terms of demonstrating causality. For this reason, we introduce the Software Development Profile Model (SDPM) as a causal model for identifying defect-prone software artifacts based on their change history and software development activities. The SDPM is based on the assumption that human error during software development is the sole cause for defects leading to software failures. The SDPM assumes that when a software construct is touched, it has a chance to become defective. Software development activities such as inspection, testing, and rework further affect the remaining number of software defects. Under this assumption, the SDPM estimates the defect content of software artifacts based on software change history and software development activities. SDPM is an improvement over existing defect estimation models because it not only uses evidence from current project to estimate defect content, it also allows software managers to manage software projects quantitatively by making risk informed decisions early in software development life cycle. We apply the SDPM in several real life software development projects, showing how it is used and analyzing its accuracy in predicting defect-prone files and compare the results with the Poisson regression model
Geometric Approaches to Statistical Defect Prediction and Learning
Software quality is directly correlated with the number of defects in software systems. As the
complexity of software increases, manual inspection of software becomes prohibitively expensive.
Thus, defect prediction is of paramount importance to project managers in allocating the limited
resources effectively as well as providing many advantages such as the accurate estimation of
project costs and schedules. This thesis addresses the issues of defect prediction and learning in
the geometric framework using statistical quality control and genetic algorithms.
A software defect prediction model using the geometric concept of operating characteristic
curves is proposed. The main idea behind this predictor is to use geometric insight in helping
construct an efficient prediction method to reliably predict the cumulative number of defects during
the software development process. The performance of the proposed approach is validated on real
data from actual software projects, and the experimental results demonstrate a much improved
performance of the proposed statistical method in predicting defects.
In the same vein, two defect learning predictors based on evolutionary algorithms are also
proposed. These predictors use genetic programming as feature constructor method. The first
predictor constructs new features based primarily on the geometrical characteristics of the original
data. Then, an independent classifier is applied and the performance of feature selection method
is measured. The second predictor uses a built-in classifier which automatically gets tuned for
the constructed features. Experimental results on a NASA static metric dataset demonstrate the
feasibility of the proposed genetic programming based approaches