Software Fault Localization Using Elastic Net: A New Statistical Approach

  • Saeed Parsa
  • Mojtaba Vahidi-Asl
  • Somaye Arabi
  • Behrouz Minaei-Bidgoli
Part of the Communications in Computer and Information Science book series (CCIS, volume 59)


Fault localization is an important task in software testing process. The aim is to find latent semantic faults which do not violate program syntactic rules. Statistical debugging techniques are amongst best methods for identifying faults in the program source code. However, they have some drawbacks. They require a large number of executions to identify faults. Furthermore, they do not consider the simultaneous effect of predicates on program termination status. To resolve the problems, in this paper a new approach based on elastic net has been proposed. The proposed approach finds the smallest effective subset of program predicates known as bug predictors. Detecting most effective bug predictors considering fewer amounts of executions as much as possible is highly desirable. The elastic net is advantageous when the number of executions is much smaller than the number of predicates. After selecting bug predictors, the main causes of faults are detected by using existing program slicing technique. The experimental results on two well-known test suites reveal the effectiveness and accuracy of the proposed approach.


Software Testing Statistical debugging Elastic Net Program Slicing Bug Predictors 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Del Mol, C., De Vito, E., Rosasco, L.: Elastic-Net regularization in Learning Theory, technical report, MIT press (2008)Google Scholar
  2. 2.
    Liblit, B.: Cooperative Bug Isolation. PhD thesis, University of California, Berkeley (2004)Google Scholar
  3. 3.
    Liu, C., Yan, X., Fei, L., Han, J., Midkiff, S.P.: Sober: Statistical model-based bug localization. In: 10th European Software Eng. Conf./13th ACM SIGSOFT Int’l Symposium Foundations of Software Engineering, Lisbon, pp. 286–295 (2005)Google Scholar
  4. 4.
    Liblit, B., Naik, M., Zheng, A., Aiken, A., Jordan, M.: Scalable Statistical Bug Isolation. In: Int’l Conference Programming Language Design and Implementation, Chicago, pp. 15–26 (2005)Google Scholar
  5. 5.
    Arumuga Nainar, P., Chen, T., Rosin, J., Liblit, B.: Statistical debugging using compound Boolean predicates. In: International Symposium on Software Testing and Analysis, pp. 5–15. ACM Press, London (2007)Google Scholar
  6. 6.
    Liblit, B., Aiken, A., Zheng, X., Jordan, M.I.: Bug isolation via remote program sampling. In: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, pp. 141–154. ACM Press, San Diego (2003)CrossRefGoogle Scholar
  7. 7.
    Zeller, A.: Why Programs Fail: A Guide to Systematic Debugging. Morgan Kaufmann, San Francisco (2006)Google Scholar
  8. 8.
    Fei, L., Lee, K., Li, F., Midkiff, S.P.: Argus: Online statistical bug detection. In: Baresi, L., Heckel, R. (eds.) FASE 2006. LNCS, vol. 3922, pp. 308–323. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Chatterjee, S., Hadi, A., Price, B.: Regression Analysis by Example, 4th edn. Wiley Series in Probability and Statistics, New York (2006)zbMATHGoogle Scholar
  10. 10.
    Hastie, T.J., Tibshirani, R.J., Friedman, J.: The Elements of Statistical Learning: Data Mining Inference and Prediction. Springer, New York (2001)zbMATHGoogle Scholar
  11. 11.
    Tibshirani, R.: Optimal Reinsertion: Regression shrinkage and selection via the lasso. J.R.Statist. Soc. 58, 267–288 (1996)zbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Saeed Parsa
    • 1
  • Mojtaba Vahidi-Asl
    • 1
  • Somaye Arabi
    • 1
  • Behrouz Minaei-Bidgoli
    • 1
  1. 1.Department of Computer EngineeringIran University of Science and TechnologyTehranIran

Personalised recommendations