A Novel Framework for Locating Software Faults Using Latent Divergences

  • Shounak Roychowdhury
  • Sarfraz Khurshid
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6913)


Fault localization, i.e., identifying erroneous lines of code in a buggy program, is a tedious process, which often requires considerable manual effort and is costly. Recent years have seen much progress in techniques for automated fault localization, specifically using program spectra – executions of failed and passed test runs provide a basis for isolating the faults. Despite the progress, fault localization in large programs remains a challenging problem, because even inspecting a small fraction of the lines of code in a large problem can require substantial manual effort. This paper presents a novel framework for fault localization based on latent divergences – an effective method for feature selection in machine learning. Our insight is that the problem of fault localization can be reduced to the problem of feature selection, where lines of code correspond to features. We also present an experimental evaluation of our framework using the Siemens suite of subject programs, which are a standard benchmark for studying fault localization techniques in software engineering. The results show that our framework enables more accurate fault localization than existing techniques.


Feature Selection Latent Divergence Fault Localization Bernoulli Random Variable Fault Version 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Abreu, R., Zoeteweij, P., Golsteijn, R., van Gemund, A.J.C.: A practical evaluation of spectrum-based fault localization. Journal of Systems and Software 82(11), 1780–1792 (2009)CrossRefGoogle Scholar
  2. 2.
    Ali, S.M., Silvey, S.D.: A General Class of Coefficients of Divergence of One Distribution from Another. J. Roy. Statist. Soc. Ser. B 28, 131–142 (1966)zbMATHMathSciNetGoogle Scholar
  3. 3.
    Agrawal, H., Horgan, J.R.: Dynamic program slicing. In: Proceedings of the ACM SIGPLAN 1990 Conference on Programming Language Design and Implementation, PLDI 1990, pp. 246–256. ACM, New York (1990)CrossRefGoogle Scholar
  4. 4.
  5. 5.
    Binkley, D., Harman, M.: A survey of empirical results on program slicing. Advances in Computers 62, 106–179 (2004)Google Scholar
  6. 6.
    Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (March 2004)CrossRefzbMATHGoogle Scholar
  7. 7.
    Bregman, L.M.: The relaxation method of finding the common points of convex sets and its application to the solution of problems in convex programming. USSR Computational Mathematics and Mathematical Physics 7(1-2), 200–217 (1967)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Coxeter, H.S.M., Greitzer, S.L.: Geometry Revisited (Mathematical Association of America Textbooks, 1st edn. The Mathematical Association of America (1967)Google Scholar
  9. 9.
    Csiszar, I.: On the computation of rate distortion functions. IEEE Transactions of Information Theory IT-20(1), 122–124 (1974)CrossRefzbMATHMathSciNetGoogle Scholar
  10. 10.
    Itakura, F., Saito, S.: An analysis-synthesis telephony based on maximum likelihood method. In: Proc. Int. Cong. Acoust., vol. c-5-5, pp. c17–c20 (1968)Google Scholar
  11. 11.
    Guyon, I., Elisseeff, A.: An introduction to variable and feature selection. J. Mach. Learn. Res. 3, 1157–1182 (2003)zbMATHGoogle Scholar
  12. 12.
    Hutchins, M., Foster, H., Goradia, T., Ostrand, T.: Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria. In: Proceedings of the 16th International Conference on Software Engineering, ICSE 1994, pp. 191–200. IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  13. 13.
    Jiang, L., Su, Z.: Context-aware statistical debugging: from bug predictors to faulty control flow paths. In: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering, ASE 2007, pp. 184–193. ACM, New York (2007)Google Scholar
  14. 14.
    Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005, pp. 273–282. ACM, New York (2005)Google Scholar
  15. 15.
    Liblit, B., Naik, M., Zheng, A.X., Aiken, A., Jordan, M.I.: Scalable statistical bug isolation. In: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2005, pp. 15–26. ACM, New York (2005)CrossRefGoogle Scholar
  16. 16.
    Ochiai, A.: Zoogeographic studies on the soleoid fishes found in japan and its neighbouring regions. Bull. Jpn. Soc. Sci. Fish 22, 526–530 (1957)CrossRefGoogle Scholar
  17. 17.
    Pekalska, E., Duin, R.P.W.: The Dissimilarity Representation for Pattern Recognition: Foundations And Applications. World Scientific Publishing Co., Inc., River Edge (2005)CrossRefzbMATHGoogle Scholar
  18. 18.
    Renieris, M., Reiss, S.P.: Fault localization with nearest neighbor queries. In: International Conference on Automated Software Engineering, p. 30 (2003)Google Scholar
  19. 19.
    Renyi, A.: On measures of information and entropy. In: Proceedings of the 4th Berkeley Symposium on Mathematics, Statistics and Probability, pp. 547–561 (1961)Google Scholar
  20. 20.
    Steiner, J.: Einige geometrische Betrachtungen. Journal für die reine und angewandte Mathematik 1, 161–184 (1826)Google Scholar
  21. 21.
    Eric Wong, W., Debroy, V., Choi, B.: A family of code coverage-based heuristics for effective fault localization. J. Syst. Softw. 83, 188–208 (2010)CrossRefGoogle Scholar
  22. 22.
    Liu, C., Yan, X., Fei, L., Han, J., Midkiff, S.P.: SOBER: statistical model-based bug localization. In: ESEC/FSE-13: Proceedings of the 10th European Software Engineering, Lisbon, Portugal, pp. 286–295 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Shounak Roychowdhury
    • 1
  • Sarfraz Khurshid
    • 1
  1. 1.Department of Electrical and Computer EngineeringUniversity of TexasAustinUSA

Personalised recommendations