skip to main content
10.1145/1390630.1390654acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

The probabilistic program dependence graph and its application to fault diagnosis

Published:20 July 2008Publication History

ABSTRACT

This paper presents an innovative model of a program's internal behavior over a set of test inputs, called the probabilistic program dependence graph (PPDG), that facilitates probabilistic analysis and reasoning about uncertain program behavior, particularly that associated with faults. The PPDG is an augmentation of the structural dependences represented by a program dependence graph with estimates of statistical dependences between node states, which are computed from the test set. The PPDG is based on the established framework of probabilistic graphical models, which are widely used in applications such as medical diagnosis. This paper presents algorithms for constructing PPDGs and applying the PPDG to fault diagnosis. This paper also presents preliminary evidence indicating that PPDGs can facilitate fault localization and fault comprehension.

References

  1. R. Alur, P. Černý, P. Madhusudan, and W. Nam. Synthesis of Interface Specifications for Java classes. In Proceedings of the Symposium on Principles of Programming Languages, pages 98--109, January 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Synthesis of Interface Specifications for Java classes. In Proceedings of the Symposium on Principles of Programming Languages, pages 98--109, January 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. F. Bowring, J. M. Rehg, and M. J. Harrold. Active Learning for Automatic Classification of Software Behavior. In Proceedings of the International Symposium on Software Testing and Analysis, pages 195--205, July 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Burnell and E. Horvitz. Structure and Chance: Melding Logic and Probability for Software Debugging. Communications of the ACM, 38(3):31--41., 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Cleve and A. Zeller. Locating Causes of Program Failures. In Proceedings of the International Symposium on the Foundations of Software Engineering, pages pages 342--351, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. H. Do, S. Elbaum, and G. Rothermel. Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact. Empirical Software Engineering, 10(4):405--435, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Ferrante, K. J. Ottenstein, and J. D. Warren. The Program Dependence Graph and its Use in Optimization. ACM Trans. on Programming Languages and Systems, 9(3):319--349, July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Galan, F. Aguado, F.J.Diez, and J. Mira. NasoNet, Joining Bayesian Networks, and Time to Model Nasopharyngeal Cancer Spread. Artificial Intelligence in Medicine, 2101/2001:207--216, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. K. Gallagher. Using Program Slicing in Software Maintenance. PhD thesis, University of Maryland, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Haran, A. Karr, A. Orso, A. Porter, and A. Sanil. Applying Classification Techniques to Remotely-Collected Program Execution Data. In Proceedings of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2005), pages 146--155, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. J. Harrold, J. A. Jones, T. Li, D. Liang, A. Orso, M. Pennings, S. Sinha, and S. Spoon. Regression Test Selection for Java Software. In Proceedings of the ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2001), pages 312--326, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Heckerman, D. M. Chickering, C. Meek, R. Rounthwaite, and C. M. Kadie. Dependency Networks for Inference, Collaborative Filtering, and Data Visualization. Journal of Machine Learning Research, 1:49--75, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Hutchins, H. Foster, T. Goradia, and T. Ostrand. Experiments on the Effectiveness of Dataflow and Controlflow-Based Test Adequacy Criteria. In International Conference on Software Engineering, pages 191--200, May 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Hutchins, H. Foster, T. Goradia, and T. Ostrand. Experiments on the Effectiveness of Dataflow and Controlflow-Based Test Adequacy Criteria. In International Conference on Software Engineering, pages 191--200, May 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Jones and M. J. Harrold. Empirical Evaluation of the Tarantula Automatic Fault-Localization Technique. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pages 273--282, November 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Jones, M. J. Harrold, and J. Stasko. Visualization of Test Information to Assist Fault Localization. In Proceedings of the 24th International Conference on Software Engineering, pages 467--477, May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. W. Laski and B. Korel. A Data Flow Oriented Program Testing Strategy. IEEE Transactions on Software Engineering, 9:347--354, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable Statistical Bug Isolation. In Proceedings of the Conference on Programming Language Design and Implementation, pages 15--26, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Liu, X. Yan, L. Fei, J. Han, and S. P. Midkiff. SOBER:Statistical Model-based Bug Localization. In Proceedings of the 5th Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 286--295, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. K. Murphy. Dynamic Bayesian Networks: Representation, Inference and Learning. PhD thesis, UC Berkeley, Computer Science Division, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. E. Neapolitan. Learning Bayesian Networks. Prentice Hall, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. G. C. Necula, S. McPeak, S. P. Rahul, and W. Weimer. CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs. In CC'02: Proceedings of the 11th International Conference on Compiler Construction, pages 213--228, April 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. Podgurski and L. A. Clarke. A Formal Model of Program Dependences and its Implications for Software Testing, Debugging, and Maintenance. IEEE Transactions on Software Engineering, 16(9):965--979, September 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Podgurski, D. Leon, P. Francis, W. Masri, M. M. Sun, and B. Wang. Automated Support for Classifying Software Failure Reports. In Proceedings of the 25th International Conference on Software Engineering, pages 465--475, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Renieris and S. Reiss. Fault Localization With Nearest Neighbor Queries. In International Conference on Automated Software Engineering, pages 30--39, November 2003.Google ScholarGoogle Scholar
  26. S. Thrun. Robotic Mapping: A Survey. In Exploring Artificial Intelligence in the New Millennium, pages 1--35, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. W. Weimer and G. Necula. Mining Temporal Specifications for Error Detection. In 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 461--476, April 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Weiser. Program slicing. In Proceedings of the 5th International Conference on Software Engineering, pages 439--449, March 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. X. Zhang, N. Gupta, and R. Gupta. Pruning Dynamic Slices With Confidence. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 169--180, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The probabilistic program dependence graph and its application to fault diagnosis

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        ISSTA '08: Proceedings of the 2008 international symposium on Software testing and analysis
        July 2008
        324 pages
        ISBN:9781605580500
        DOI:10.1145/1390630

        Copyright © 2008 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 20 July 2008

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate58of213submissions,27%

        Upcoming Conference

        ISSTA '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader