Feature Selection Techniques to Counter Class Imbalance Problem for Aging Related Bug Prediction: Aging Related Bug Prediction

Aging-Related Bugs (ARBs) occur in long running systems due to error conditions caused because of accumulation of problems such as memory leakage or unreleased files and locks. Aging-Related Bugs are hard to discover during software testing and also challenging to replicate. Automatic identification and prediction of aging related fault-prone files and classes in an object oriented system can help the software quality assurance team to optimize their testing efforts. In this paper, we present a study on the application of static source code metrics and machine learning techniques to predict aging related bugs. We conduct a series of experiments on publicly available dataset from two large open-source software systems: Linux and MySQL. Class imbalance and high dimensionality are the two main technical challenges in building effective predictors for aging related bugs. We investigate the application of five different feature selection techniques (OneR, Information Gain, Gain Ratio, RELEIF and Symmetric Uncertainty) for dimensionality reduction and five different strategies (Random Under-sampling, Random Oversampling, SMOTE, SMOTEBoost and RUSBoost) to counter the effect of class imbalance in our proposed machine learning based solution approach. Experimental results reveal that the random under-sampling approach performs best followed by RUSBoost in-terms of the mean AUC metric. Statistical significance test demonstrates that there is a significant difference between the performance of the various feature selection techniques. Experimental results shows that Gain Ratio and RELEIF performs best in comparison to other strategies to address the class imbalance problem. We infer from the statistical significance test that there is no difference between the performances of the five different learning algorithms.

[1]  Nitesh V. Chawla,et al.  SMOTE: Synthetic Minority Over-sampling Technique , 2002, J. Artif. Intell. Res..

[2]  Thomas J. Ostrand,et al.  \{PROMISE\} Repository of empirical software engineering data , 2007 .

[3]  Isabelle Guyon,et al.  An Introduction to Variable and Feature Selection , 2003, J. Mach. Learn. Res..

[4]  Domenico Cotroneo,et al.  Is software aging related to software metrics? , 2010, 2010 IEEE Second International Workshop on Software Aging and Rejuvenation.

[5]  Huan Liu,et al.  Toward integrating feature selection algorithms for classification and clustering , 2005, IEEE Transactions on Knowledge and Data Engineering.

[6]  Domenico Cotroneo,et al.  Predicting aging-related bugs using software complexity metrics , 2013, Perform. Evaluation.

[7]  Lov Kumar,et al.  Using Structured Text Source Code Metrics and Artificial Neural Networks to Predict Change Proneness at Code Tab and Program Organization Level , 2017, ISEC.

[8]  Nitesh V. Chawla,et al.  SMOTEBoost: Improving Prediction of the Minority Class in Boosting , 2003, PKDD.

[9]  M. Alvesson,et al.  Ways of constructing research questions: gap-spotting or problematization? , 2011 .

[10]  Neetu Sardana,et al.  Improving Logging Prediction on Imbalanced Datasets: A Case Study on Open Source Java Projects , 2016, Int. J. Open Source Softw. Process..

[11]  Chenggang Bai,et al.  Cross-Project Aging Related Bug Prediction , 2015, 2015 IEEE International Conference on Software Quality, Reliability and Security.

[12]  Domenico Cotroneo,et al.  Analysis and Prediction of Mandelbugs in an Industrial Software System , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[13]  Taghi M. Khoshgoftaar,et al.  RUSBoost: Improving classification performance when training data is skewed , 2008, 2008 19th International Conference on Pattern Recognition.

[14]  Guy Lapalme,et al.  Performance Measures in Classification of Human Communications , 2007, Canadian Conference on AI.

[15]  Lov Kumar,et al.  Aging Related Bug Prediction using Extreme Learning Machines , 2017, 2017 14th IEEE India Council International Conference (INDICON).

[16]  R. F. Woolson Wilcoxon Signed-Rank Test , 2008 .

[17]  Mark A. Hall,et al.  Correlation-based Feature Selection for Machine Learning , 2003 .

[18]  Taghi M. Khoshgoftaar,et al.  RUSBoost: A Hybrid Approach to Alleviating Class Imbalance , 2010, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[19]  Adam A. Porter,et al.  Empirical studies of software engineering: a roadmap , 2000, ICSE '00.

[20]  Yunqian Ma,et al.  Imbalanced Datasets: From Sampling to Classifiers , 2013 .

[21]  Rich Caruana,et al.  An empirical comparison of supervised learning algorithms , 2006, ICML.

[22]  Nitesh V. Chawla,et al.  Data Mining for Imbalanced Datasets: An Overview , 2005, The Data Mining and Knowledge Discovery Handbook.

[23]  Santanu Kumar Rath,et al.  Empirical Analysis on Effectiveness of Source Code Metrics for Predicting Change-Proneness , 2017, ISEC.

[24]  Robert Feldt,et al.  Validity Threats in Empirical Software Engineering Research - An Initial Survey , 2010, SEKE.

[25]  Xin Yao,et al.  Using Class Imbalance Learning for Software Defect Prediction , 2013, IEEE Transactions on Reliability.

[26]  Markus Neuhäuser,et al.  Wilcoxon Signed Rank Test , 2006 .

[27]  Anthony Finkelstein,et al.  Proceedings of the Conference on The Future of Software Engineering , 2000, ICSE 2000.

[28]  Domenico Cotroneo,et al.  Software Aging Analysis of the Linux Operating System , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[29]  Wei-Yin Loh,et al.  A Comparison of Prediction Accuracy, Complexity, and Training Time of Thirty-Three Old and New Classification Algorithms , 2000, Machine Learning.