Program Debugging Using Constraints -- Is it Feasible?

Franz Wotawa, Mihai Nica · 2011

Automated debugging, i.e., automated fault localization in programs, is an important and challenging problem. In literature the use of AI techniques like model-based diagnosis have been reported in order to solve the debugging problem at least partially. Most recently stating the debugging problem as a constraint satisfaction problem has been suggested including the integration of pre- and post-conditions. In this paper we follow this approach and report on most recent results obtained when using a today's constraint solver. Moreover, we show that there is a very good correspondence between the running time required for finding bugs and the structure of the program's constraint representation. We are able to prove this relationship with a linear correlation coefficient of 0.9. The empirical results indicate that the constraint satisfaction approach is very promising when focusing on debugging methods and functions up to 1,000 lines of code with an expected debugging time of less than 1 1/2 minute.

Read the paper · More papers on PaperTik