An automated model-based debugging approach
Abstract
Program debugging is a difficult and time-consuming task. Our ultimate goal in this work is to help developers reduce the space of potential root causes for failures, which can, in turn, improve the turn around time for bug fixes. We propose a novel and very different approach. Rather then focusing on how a program behaves by analyzing its source code and/or execution traces, we concentrate on how it should behave with respect to a given behavioral model. We identify and verify slices of the behavior model, that, once implemented wrong in the program, can potentially lead to failures. Not only do we identify functional differences between the programand its model, but we also provide a ranked list of diagnoses which might explain (or be associated with) these differences. Our experiments suggest that the proposed approach can be quite effective in reducing the search space for potential root causes for failures. Copyright 2007 ACM.