Static Query-Based Debugging

To overcome the problems described in chapter 2, we propose a new debugging technique: query-based debugging [127]. This new approach offers programmers an effective query tool that allows complex relationships to be formulated easily and evaluated efficiently. Static queries can be asked whenever a program is stopped at a breakpoint. Queries can be formulated during debugging sessions, or stored in a debugging library together with the program’s normal code. A query-based debugger can easily find errors in the examples presented in the beginning of chapter 2.