Reference. WatChat: Explaining perplexing programs by debugging mental models

Often, a good explanation for a program’s unexpected behavior is a bug in the programmer’s code. But sometimes, an even better explanation is a bug in the programmer’s mental model of the language or API they are using. Instead of merely debugging our current code (“giving the programmer a fish”), what if our tools could directly debug our mental models (“teaching the programmer to fish”)? In this paper, we apply recent ideas from computational cognitive science to offer a principled framework for doing exactly that. Given a “why?” question about a program, we automatically infer potential misconceptions about the language/API that might cause the user to be surprised by the program’s behavior – and then analyze those misconceptions to provide explanations of the program’s behavior. Our key idea is to formally represent misconceptions as counterfactual (erroneous) semantics for the language/API, which can be inferred and debugged using program synthesis techniques. We demonstrate our framework, WatChat, by building systems for explanation in two domains: JavaScript type coercion, and the Git version control system. We evaluate WatChatJS and WatChatGit by comparing their outputs to experimentally-collected human-written explanations in these two domains: we show that WatChat’s explanations exhibit key features of human-written explanation, unlike those of a state-of-the-art language model.

Cite

Cite as @chandra-2024-watchat (helia, typst) · \cite{chandra-2024-watchat} (LaTeX)
BibTeX
bibtex · 8 lines
@misc{chandra-2024-watchat,
  author = {Kartik Chandra and Katherine M. Collins and Will Crichton and Tony Chen and Tzu-Mao Li and Adrian Weller and Rachit Nigam and Joshua Tenenbaum and Jonathan Ragan-Kelley},
  title = {WatChat: Explaining perplexing programs by debugging mental models},
  year = {2024},
  month = {3},
  eprint = {2403.05334},
  archiveprefix = {arXiv}
}
hayagriva YAML (typst)
yaml · 16 lines
chandra-2024-watchat:
  type: misc
  title: 'WatChat: Explaining perplexing programs by debugging mental models'
  author:
  - Chandra, Kartik
  - Collins, Katherine M.
  - Crichton, Will
  - Chen, Tony
  - Li, Tzu-Mao
  - Weller, Adrian
  - Nigam, Rachit
  - Tenenbaum, Joshua
  - Ragan-Kelley, Jonathan
  date: 2024-03
  serial-number:
    arxiv: '2403.05334'
Cites 79 works (0 here)
External (79)
chandra-2024-watchat reference entries/refs/chandra-2024-watchat/chandra-2024-watchat.hel