arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2602.11435cs.SE
收藏

面向专业软件工程实践的调试 grounded 理论

A Grounded Theory of Debugging in Professional Software Engineering Practice

University of California at San Diego(加州大学圣迭戈分校)

Haolin Li, Michael Coblenz

AI总结:

本文通过 grounded 理论方法研究专业开发者在真实代码库中调试的策略与过程,揭示调试作为结构化迭代诊断过程的本质,为工具设计和软件工程教育提供启示。

摘要:

调试是软件工程中的核心且复杂活动。先前研究已记录了调试策略和工具使用,但很少有理论能解释经验开发者如何在大规模真实代码库中推理bug。我们采用定性研究方法,观察七位专业开发者和五位专业实时编程流媒体主播在17个调试任务中处理代码库的不同情境。我们理论化调试为一种结构化、迭代的诊断过程,程序员通过更新系统心理模型来指导信息收集。开发者通过交替使用导航和执行策略,采用正向和反向追溯推理模式,并根据代码库上下文、复杂性和熟悉程度调整这些方法。开发者还获取外部资源以补充代码证据,其经验使他们能够系统地构建心理模型。我们贡献了一种面向专业调试的 grounded 理论,揭示了该实践的人本维度,对工具设计和软件工程教育有启示。

英文摘要:

Debugging is a central yet complex activity in software engineering. Prior studies have documented debugging strategies and tool usage, but little theory explains how experienced developers reason about bugs in large, real-world codebases. We conducted a qualitative study using a grounded theory approach. We observed seven professional developers and five professional live-coding streamers working on 17 debugging tasks in their own codebases, capturing diverse contexts of debugging. We theorize debugging as a structured, iterative diagnostic process in which programmers update a mental model of the system to guide information gathering. Developers gather information by alternating between navigation and execution strategies, employing forward and backward tracing modes of reasoning and adapting these approaches according to codebase context, complexity, and familiarity. Developers also gather external resources to complement code-based evidence, with their experience enabling them to systematically construct a mental model. We contribute a grounded theory of professional debugging that surfaces the human-centered dimensions of the practice, with implications for tool design and software engineering education.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑