Reproduce “A Grounded Theory of Debugging in Professional Software Engineering Practice” on OpenResearch

Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.

Universal app for Apple silicon and Intel. Requires macOS 11 or later.

About this paper

Haolin Li, Michael Coblenz

Researchers at the University of California at San Diego developed a grounded theory of debugging by observing professional software engineers resolving issues in familiar, real-world codebases. The theory outlines debugging as an iterative process driven by continuous mental model development, managing uncertainty through speculation, and strategically combining diverse information-gathering techniques.

Key insights

  • Professional debugging follows an iterative four-step diagnostic process: bug reproduction, extensive mental model development, solution implementation, and fix validation.
  • Mental model development is central to debugging, characterized by continuously updating uncertainty, forming vague speculations, and adopting a 'knowledge avoidance' approach to learn only what is immediately necessary.
  • Developers dynamically combine exploration strategies (navigation, execution) and tracing modes (forward, backward) to gather codebase information, adapting their approach based on task complexity and familiarity.

Summary by alphaXiv.

Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.