Definition
Plain language
A system that locates software bugs by writing a diagnosis — what's wrong and how to fix it — instead of just pointing at a file.
As stated in the literature
A training-free bug-localization framework that emits structured diagnostic findings (location, root cause, fix direction, dependencies, test impact) via a bounded reasoning loop over a small fixed toolset, reframing localization as diagnosis rather than retrieval.
Why it matters: By framing bug-finding as diagnosis rather than pointing, it gives developers actionable explanations instead of a list of suspect locations to sift through.
For example, instead of just flagging a file, SHERLOC reports that a null check is missing on a specific line, names the root cause, and suggests how to fix it.
Heard on the show
“The paper is called SHERLOC, and the name is the whole thesis: this is detective work, and the case file matters more than the address.”Episode 169 — Why Better Bug Reports Can Make AI Coding Agents Worse