一句话:通过 40 人研究揭示通用与语言经验如何影响程序员用 Stack Overflow 调试搜索的成效。
论文关注程序员在调试代码时如何利用 Stack Overflow 搜索帮助,以及专长如何影响搜索成效。作者招募 40 名程序员,分为新手、有经验但 Python 新手、有经验 Python 程序员三组,围绕给定错误进行 Stack Overflow 搜索任务,比较其找到有用帖子的能力。结果显示,三组之间存在显著差异;通用编程经验和 Python 语言经验都能提升搜索效率与调试成功率。作者还探索了所选链接的展示排名、每个查询检查的链接数等因素,并按 Python 错误类型分析在线搜索行为与结果差异。研究可为在线代码搜索教学和未来自动化调试/搜索工具设计提供依据。
Debugging can be challenging for novice and expert programmers alike. Programmers routinely turn to online resources such as Stack Overflow for help, but understanding of debugging search practices, as well as tool support to find debugging resources, remains limited. Existing tools that mine online help forums are generally not aimed at novices, and programmers face varying levels of success when looking for online resources. Furthermore, training online code search skills is pedagogically challenging, as we have little understanding of how expertise impacts programmers’ web search behavior while debugging code.We help fill these knowledge gaps with the results of a study of 40 programmers investigating differences in Stack Overflow search behavior at three levels of expertise: novices, experienced programmers who are novices in Python (the language we use in our study), and experienced Python programmers. We observe significant differences between all three levels in their ability to find posts helpful for debugging a given error, with both general and language-specific expertise facilitating Stack Overflow search efficacy and debugging success. We also conduct an exploratory investigation of factors that correlate with this difference, such as the display rank of the selected link and the number of links checked per search query. We conclude with an analysis of how online search behavior and results vary by Python error type. Our findings can inform online code search pedagogy, as well as inform the development of future automated tools.