Open Access Open Access  Restricted Access Subscription Access

Software Defect Prediction System using Machine Learning based Algorithms

Sanusi B. A., Olabiyisi S. O., Olowoye A. O, Olatunji B. L.

Abstract


Measuring the performance, reliability or quality of a software simply describes the sequence of actions taken detecting bugs in a software product. The Bugs found during the development of software has made researchers develop different methods of bug prediction models. However, predicting the bugs in a concurrent software product reduces development time and cost. In this paper, experiments were conducted on public available bug prediction dataset which is a repository for most open source software. The Genetic algorithm was used to extract relevant features from the acquired datasets to eliminate the possibility of over-fitting. The extracted features are classified to defective or non-defective using random forest, decision tree and artificial neural network classification technique. Furthermore, the techniques were evaluated using accuracy, precision, recall and f-score. In completion of the conducted experiments, the random forest performs best among the algorithms in terms of accuracy, precision, and f-score with average score of 83.40%, 53.18%, and 52.04% respectively. Also, the results showed that neural network performs best in terms of recall with average score of 60% among the algorithms. Hence, the system helped software developers when developing a good quality software in order to check if the software system has a little or no defects before delivery to customers.


Full Text:

PDF

References


Agasta, A. and Ramachandran, M. (2014). Predicting the Software Fault Using Genetic Algorithm technique. The International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering.2014.3(2):390-398p.

Arisholm, E., Lionel, C. B and Magnus, F. (2007). Data Mining Techniques for Building Fault-proneness Systems in Telecom Java Software. In the 18th International Symposium on Software Reliability (ISSRE’07), 2007.215–224p.

Arisholm, E., Lionel, C. B. and Eivind, B. (2010). A Comprehensive and Systematic Investigation of Methods to Build and Evaluate Fault Prediction models. Journal of Systems and Software, 83(1):2–17p.

Grishma, B. R., and Anjali, C. (2015). Software root cause prediction using clustering methods: A review. Communication Technologies (GCCT), 2015 Global Conference on.IEEE.

Eibe F., Ian H. W., and Mark A. H. (2011). The Data Mining: Practical Machine Learning Tools and Methods, Third Edition (The Morgan Kaufmann Series in Data Management Systems). Morgan Kaufmann.2011.

Malhotra, R. (2014). Comparative analysis of statistical and machine learning techniques For predicting buggy modules. Applied Soft Computing. 2014.21:286-297p.

Menzies, T., Greenwald, J. and Frank, A. (2007). The Data mining static code features to learnbug predictors. IEEE Trans. Softw. Eng. 2007.33:2–13p.

Menzies, T., Milton, Z., Turhan, B., Cukic, B., Jiang, Y., and Bener, A. (2010). Bug prediction from static code attributes: current results, limitations, new techniques. The Automated Software Engineering.2010.17(4):375–407p.

Parameswari, A. (2015). Comparing Data Mining Techniques for the Software Defect Prediction.

Shafi, S., Syed, M. H., Afsah, A., Malik, J. K. and Shafay, S. (2008). The Software Quality Prediction Techniques: A Comparative Analysis. In 2008 4th International Conference on Emerging Technologies.2008:242–246p.


Refbacks

  • There are currently no refbacks.