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.
- 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 ScholarDigital Library
- Synthesis of Interface Specifications for Java classes. In Proceedings of the Symposium on Principles of Programming Languages, pages 98--109, January 2005. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- K. Gallagher. Using Program Slicing in Software Maintenance. PhD thesis, University of Maryland, 1989. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. W. Laski and B. Korel. A Data Flow Oriented Program Testing Strategy. IEEE Transactions on Software Engineering, 9:347--354, 1983. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- K. Murphy. Dynamic Bayesian Networks: Representation, Inference and Learning. PhD thesis, UC Berkeley, Computer Science Division, 2002. Google ScholarDigital Library
- R. E. Neapolitan. Learning Bayesian Networks. Prentice Hall, 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Renieris and S. Reiss. Fault Localization With Nearest Neighbor Queries. In International Conference on Automated Software Engineering, pages 30--39, November 2003.Google Scholar
- S. Thrun. Robotic Mapping: A Survey. In Exploring Artificial Intelligence in the New Millennium, pages 1--35, 2002. Google ScholarDigital Library
- 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 ScholarDigital Library
- M. Weiser. Program slicing. In Proceedings of the 5th International Conference on Software Engineering, pages 439--449, March 1981. Google ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- The probabilistic program dependence graph and its application to fault diagnosis
Recommendations
The Probabilistic Program Dependence Graph and Its Application to Fault Diagnosis
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), which facilitates probabilistic analysis and reasoning about uncertain program behavior, ...
On undetectable faults and fault diagnosis
The presence of an undetectable fault ui may modify the response of a detectable fault dj to a test set used for fault diagnosis. This may impact the accuracy of fault diagnosis based on the responses of single faults. Many state-of-the-art diagnosis ...
The Bayesian Network based program dependence graph and its application to fault localization
A novel probabilistic graphical model called Bayesian Network based Program Dependence Graph (BNPDG) is proposed.A BNPDG-based fault localization approach is proposed.An empirical study is conducted on the Siemens suite and Space.The results show that ...
Comments