Advertisement

Fuzzy Clustering the Backward Dynamic Slices of Programs to Identify the Origins of Failure

  • Saeed Parsa
  • Farzaneh Zareie
  • Mojtaba Vahidi-Asl
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6630)

Abstract

In this paper a new technique for identifying the origins of program failure is presented. To achieve this, the outstanding features of both statistical debugging and dynamic slicing techniques are combined. The proposed Fuzzy-Slice technique, computes the full backward dynamic slice of variables used in output statement of a given program in several failing and passing executions. According to the statements presented in the slice of an execution, each run could be converted into an execution point within Euclidean space, namely execution space. Using fuzzy clustering technique, different program execution paths are identified and the fault relevant statements are ranked according to their presence in different clusters. The novel scoring method for identifying fault relevant statements considers the observation of a statement in all execution paths. The promising results on Siemens test suite reveal the high accuracy and precision of the proposed Fuzzy-Slice technique.

Keywords

Software Debugging Fuzzy Clustering Backward Dynamic Slicing Failure 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agrawal, H., Horgan, J.: Dynamic program slicing. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 246–256 (1990)Google Scholar
  2. 2.
    Agrawal, H., DeMillo, R., Spafford, E.: Debugging with dynamic slicing and backtracking. Software Practice and Experience (SP&E) 23(6), 589–616 (1993)CrossRefGoogle Scholar
  3. 3.
    Weiser, M.: Program slicing. IEEE Transactions on Software Engineering (TSE) SE-10(4), 352–357 (1982)CrossRefzbMATHGoogle Scholar
  4. 4.
    Zhang, X., Gupta, R., Zhang, Y.: Precise dynamic slicing algorithms. In: IEEE/ACM International Conference on SoftwareEngineering (ICSE), Portland, Oregon, pp. 319–329 (May 2003)Google Scholar
  5. 5.
    Liu, C., Yan, X., Fei, L., Han, J., Midkiff, S.: SOBER: Statistical model-based bug localization. In: Proceedings of the 10th European Software Engineering Conference and 13th ACMSIGSOFT International Symposium on Foundations of Software Engineering, pp. 286–295. ACM Press, New York (2005)Google Scholar
  6. 6.
    Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 141–154. ACM Press, New York (2003)Google Scholar
  7. 7.
    Zhang, X., Gupta, N., Gupta, R.: Locating faults through automated predicate switching. In: Proceedings of the International Conference on Software Engineering, Shanghai, China, May 2006, pp. 272–281. ACM Press, New York (2006)Google Scholar
  8. 8.
    Liblit, B., Naik, M., Zheng, A., Aiken, A., Jordan, M.: Scalable Statistical Bug Isolation. In: Proc. ACM SIGPLAN 2005 Int’l Conf. Programming Language Design and Implementation (PLDI 2005), pp. 15–26 (2005)Google Scholar
  9. 9.
    Zhang, X., Gupta, N., Gupta, R.: Pruning dynamic slices with confidence. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 169–180 (June 2006)Google Scholar
  10. 10.
    Sato-Ilic, M., Jain, L.C.: Innovations in Fuzzy Clustering: Theory and Applications. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  11. 11.
  12. 12.
  13. 13.
  14. 14.
    Zeller, A.: Why Programs Fail: A Guide to Systematic Debugging. Morgan Kaufmann, San Francisco (2006)Google Scholar
  15. 15.
    Jones, J., Harrold, M.: Empirical Evaluation of the Tarantula Automatic Fault-Localization Technique. In: Proc. 20th IEEE/ACM Int’l Conf. Automated Software Eng., ASE 2005, pp. 273–282 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Saeed Parsa
    • 1
  • Farzaneh Zareie
    • 1
  • Mojtaba Vahidi-Asl
    • 1
  1. 1.Department of Software EngineeringIran University of Science and TechnologyTehranIran

Personalised recommendations