Learning Software Behavior for Automated Diagnosis

Ori Bar-Ilan, Roni Stern and Meir Kalech

The Twenty Seventh International Workshop on Principles of Diagnosis (DX-17), 2017

Software diagnosis algorithms aim to identify the faulty
software components that caused a failure. A key challenges
of existing software diagnosis algorithms is how to prioritize
the outputted diagnoses. To do so, previous work proposed
a method for estimating the likelihood that each diagnosis
is correct. Computing these diagnosis likelihoods is nontrivial.
We propose to do this by learning a behavior model
of the software components and use it to identify abnormally
behaving components. In this work we show the potential
of such an approach by performing an empirical evaluation
on a synthetic behavior model of the components. The results
show that even an imperfect behavior model is useful
in improving diagnosis accuracy and minimizing wasted
troubleshooting efforts.