[论文解读] 40 Years of Designing Code Comprehension Experiments: A Systematic Mapping Study
本篇系统映射研究分析了1979年至2019年间的95项代码理解实验,以识别常见的设计模式,突出方法论上的不足,并为未来研究提出改进建议。研究揭示了研究设计与报告中的广泛不一致性,提供了一个结构化框架和可操作的建议,以提升经验性软件工程研究中关于代码理解的可比性、有效性与可重现性。
The relevance of code comprehension in a developer's daily work was recognized more than 40 years ago. Consequently, many experiments were conducted to find out how developers could be supported during code comprehension and which code characteristics contribute to better comprehension. Today, such studies are more common than ever. While this is great for advancing the field, the number of publications makes it difficult to keep an overview. Additionally, designing rigorous code comprehension experiments with human participants is a challenging task, and the multitude of design options can make it difficult for researchers, especially newcomers to the field, to select a suitable design. We therefore conducted a systematic mapping study of 95 source code comprehension experiments published between 1979 and 2019. By structuring the design characteristics of code comprehension studies, we provide a basis for subsequent discussion of the huge diversity of design options in the face of a lack of basic research on their consequences and comparability. We describe what topics have been studied, as well as how these studies have been designed, conducted, and reported. Frequently chosen design options and deficiencies are pointed out to support researchers of all levels of domain expertise in designing their own studies.
研究动机与目标
- 分析人类参与者参与的代码理解实验在设计与报告方面的最新进展。
- 识别95项实证研究中反复出现的设计选择、缺陷及有效性威胁。
- 通过整合普遍的设计模式并突出最佳实践,为研究人员——尤其是新手——提供支持。
- 提出针对研究设计、测量与报告的具体改进建议,以提升可比性与可重现性。
- 建立一个公开可访问的数据集,包含提取的设计特征,以支持未来的元分析与研究综合。
提出的方法
- 遵循PRISMA指南,开展系统映射研究(SMS),以识别并提取95项同行评审的代码理解实验中的设计特征。
- 定义并应用一组全面的15项设计特征,对任务、度量、材料及有效性威胁等研究要素进行分类。
- 对每项原始研究进行人工提取设计数据,重点关注方法论的透明性与一致性。
- 根据研究主题、设计类型与报告质量对研究进行分类,以识别趋势与空白。
- 采用主题分析与定量分析,评估设计选择的频率及报告中反复出现的问题。
- 基于识别出的缺陷与最佳实践,提出五项针对研究社区的行动建议。
实验结果
研究问题
- RQ1在过去的40年中,代码理解实验中最常使用的设特征是什么?其演变趋势如何?
- RQ2哪些研究主题在代码理解实验中最为常见?
- RQ3最常报告的有效性威胁有哪些?这些威胁在不同研究中被一致处理的程度如何?
- RQ4在任务、度量与材料方面,研究设计如何变化?这对可比性有何影响?
- RQ5代码理解实验的报告中存在哪些关键缺陷?如何加以改进?
主要发现
- 绝大多数代码理解实验(78%)采用基于任务的理解任务,其中调试修复与功能实现最为常见。
- 时间投入是最常使用的性能度量(65%),其次是理解问题的正确性(58%)与自我评估(42%)。
- 仅有23%的研究报告了所有相关有效性威胁,许多研究未能讨论混杂因素或推广性问题。
- 大量研究(41%)未明确定义代码理解,导致所测量内容存在歧义。
- 心理生理测量的使用正在增加,表明程序理解研究正日益趋向神经科学基础。
- 仅有12%的研究提供了设计因素的结构化摘要,凸显了报告透明度与可重用性方面的重大缺口。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。