A Support Vector Machine Based Approach for Effective Fault Localization

Software maintenance is one of the most costly activities in software life cycle. It costs almost 70% of the total cost of the software. Testing aims to reveal the faults from the software under test (SUT). The fault localization is tiresome, dull, costly but crucial for program debugging. As size and complexity of software increase, manual locating faults becomes very tedious and hence necessitates automatic fault localization. If the fault proneness of the software components can be predicted, then such components may be given more focus. Such approach would not only save time but also enhance the quality of the software. Support vector machine (SVM) is a prominent machine learning algorithm. Regularization of parameters, convex optimization and kernel tricks are the prevailing features of SVM. This work reports a SVM-based framework for fault localization on the basis of code smells. Paper presents a performance analysis against four popular algorithms, namely ZeroR, OneR, Naive Bayes and Decision Stump. The proposed model is empirically evaluated in the reference of Json project. The results of the experimentation show that the proposed model can effectively classify the instances in the classes of their respective categories of code smells. Also, the kernel used in the proposed model gives better performance than counterpart kernels and the proposed model itself performs better than the other compared algorithms in terms of accuracy, precision, recall and F-measure.

[1]  Xinli Yang,et al.  Deep Learning for Just-in-Time Defect Prediction , 2015, 2015 IEEE International Conference on Software Quality, Reliability and Security.

[2]  Rajesh Bhatia,et al.  Taxonomy of machine learning algorithms in software fault prediction using object oriented metrics , 2018 .

[3]  Nikhil R. Pal,et al.  Fuzzy Rule-Based Approach for Software Fault Prediction , 2017, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[4]  Ian H. Witten,et al.  WEKA: a machine learning workbench , 1994, Proceedings of ANZIIS '94 - Australian New Zealnd Intelligent Information Systems Conference.

[5]  Lin Chen,et al.  Spectrum-Based Fault Localization Method with Test Case Reduction , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[6]  Bruce Christianson,et al.  The misuse of the NASA metrics data program data sets for automated software defect prediction , 2011, EASE.

[7]  Yiming Gan,et al.  Research of software defect prediction based on GRA-SVM , 2017 .

[8]  Karim O. Elish,et al.  Predicting defect-prone software modules using support vector machines , 2008, J. Syst. Softw..

[9]  S Sabeena,et al.  Optimal Feature Subset Selection using Ant Colony Optimization , 2015 .

[10]  Audris Mockus,et al.  A large-scale empirical study of just-in-time quality assurance , 2013, IEEE Transactions on Software Engineering.

[11]  Rajesh Bhatia,et al.  Object Oriented Coupling based Test Case Prioritization , 2018 .

[12]  Xiang Ji,et al.  Test Case Prioritization Approach to Improving the Effectiveness of Fault Localization , 2016, 2016 International Conference on Software Analysis, Testing and Evolution (SATE).

[13]  Arvinder Kaur,et al.  Software Fault Proneness Prediction Using Support Vector Machines , 2009 .

[14]  Ajmer Singh,et al.  Review of object-oriented coupling based test case selection in model based testing , 2017, 2017 International Conference on Intelligent Computing and Control Systems (ICICCS).

[15]  Harpreet Kaur,et al.  Software Defect Prediction Using Support Vector Machine , 2017 .

[16]  Shujuan Jiang,et al.  Cost-effective testing based fault localization with distance based test-suite reduction , 2016, Science China Information Sciences.

[17]  Rui Abreu,et al.  A Survey on Software Fault Localization , 2016, IEEE Transactions on Software Engineering.

[18]  Michael D. Ernst,et al.  Evaluating and Improving Fault Localization , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).

[19]  Vladimir N. Vapnik,et al.  The Nature of Statistical Learning Theory , 2000, Statistics for Engineering and Information Science.

[20]  Ahmed A. Saleh,et al.  Comparative Study among Data Reduction Techniques over Classification Accuracy , 2015 .