Abstract

Most of existing studies on software fault diagnosis, no matter spectrum-based or model-based, are applied and evaluated in a single-fault and multi-fault context. Their diagnosis accuracy is mainly affected by similar coverage information, fault masking, and fault propagation. To accommodate these disadvantages, we incorporate probabilistic reasoning into model-based diagnosis to figure out the root cause of failures by computing and ranking diagnosis candidates. In doing so, the program is first modeled as an Infection Graph (IG) obtained by analyzing both dynamic control flow dependences between basic blocks and the relevant data dependences among these basic blocks. On the IG model, a logical reasoning algorithm is introduced to deduce the diagnosis candidates, and the probabilistic reasoning is finally used to distinguish the most suspicious diagnosis candidates. When comparing accuracy and time efficacy, the experimental results indicate that our approach is better than Tarantula, Ochiai and BARINEL in both single-fault and multiple-fault context, even the program size changes.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call