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. Categories and Subject Descriptors: D.2.5 [Software Engineering]: Testing and Debugging—Diagnostics, Monitors General Terms: Algorithms,...
George K. Baah, Andy Podgurski, Mary Jean Harrold