Analysing Bug Prediction Capabilities of Static Code Metrics in Open Source Software
Open Source Softwares provide a rich resource of empirical research in software engineering. Static code metrics are a good indicator of software quality and maintainability. In this work we have tried to answer the question whether bug predictors obtained from one project can be applied to a different project with reasonable accuracy. Two open source projects Firefox and Apache HTTP Server (AHS) are used for this study. Static code metrics are calculated for both projects using in-house software and the bug information is obtained from bug databases of these projects. The source code files are classified as clean or buggy using the Decision tree classifier. The classifier is trained on metrics and bug data of Firefox and tested on Apache HTTP Server and vice versa. The results obtained vary with different releases of these projects and can be as good as 92 % of the files correctly classified and as poor as 68 % of the files correctly classified by the trained classifier.
KeywordsBug predictor static code metrics open source software empirical software engineering
Unable to display preview. Download preview PDF.
- firstname.lastname@example.orgGoogle Scholar
- 6.Ahsan, S.N., Ferzund, J., Wotawa, F.: A Database for the Analysis of Program Change Patterns. In: Proceedings of the 4th International Conference on Networked Computing and Advanced Information Management, Gyeongju, Korea, September 2-4 (2008)Google Scholar
- 7.Aljahdali, S.H., Sheta, A., Rine, D.: Prediction of software reliability: a comparison between regression and neural network non-parametric models. In: ACS/IEEE International Conference on Computer Systems and Applications, June 25-29, 2001, pp. 470–473 (2001)Google Scholar
- 9.Fenton, N., Neil, M.: A Critique of Software Defect Prediction Models. IEEE Transactions on Software Engineering 25(5) (September 1999)Google Scholar
- 10.Ferzund, J., Ahsan, S.N., Wotawa, F.: Automated Classification of Faults in Programms using Machine Learning Techniques. In: Artificial Intelligence Techniques in Software Engineering Workshop, July 21 (2008)Google Scholar
- 13.Nagappan, N., Ball, T., Zeller, A.: Mining Metrics to Predict Component Failures. In: Proceedings of the 28th international conference on Software engineering, Shanghai, China (November 2005)Google Scholar
- 14.Neumann, D.E.: An Enhanced Neural Network Technique for Software Risk Analysis. IEEE Transactions on Software Engineering (September 2002)Google Scholar
- 17.Venkata, U.B., Challagulla, B., Bastani Farokh, B., I-Ling, Y.: Empirical Assessment of machine Learning based Software Defect Prediction Techniques. In: Proceedings of the 10th IEEE International Workshop on Object Oriented Real- Time Dependable Systems (WORDS 2005). IEEE, Los Alamitos (2005)Google Scholar