We describe a project to refine the idea of proof-directed debugging. The intention is
to clarify the mechanisms by which failed verification attempts can be used to isolate
errors in code, in particular by exploiting the ways in which the branching structure
of a proof can match the the structure of the functional program being verified. Our
intention is to supply tools to support this process. We then further discuss how the
proof planning paradigm might be used to supply additional automated support for
this and, in particular ways in which the automation of proof-directed debugging with
proof planning would allows code patches to by synthesised at the same time that a
bug is located and diagnosed.