一句话:通过60名开源开发者的调查与版本控制数据分析,实证揭示开发者对源代码的遗忘规律及影响因素。
论文关注软件开发中对源代码的熟悉度及其遗忘现象。已有建模成本、识别专家等方法通常依赖人工评估熟悉度,且缺乏对开发者遗忘的实证分析。作者对60名开源开发者开展问卷调查,获取其熟悉度信息,并结合他们所用版本控制系统中提取的数据进行分析。结果显示,遗忘是理解开发者熟悉度与程序理解的重要因素;遗忘曲线在软件开发情境中部分适用;编辑次数、拥有代码比例与跟踪行为会影响对代码的熟悉度,并据此为参与者推导出一般记忆强度。该发现可用于界定需要考虑熟悉度的方法,并为软件开发中的遗忘提供经验洞察。
Being familiar with the source code of a program comprises knowledge about its purpose, structure, and details. Consequently, familiarity is an important factor in many contexts of software development, especially for maintenance and program comprehension. As a result, familiarity is considered to some extent in many different approaches, for example, to model costs or to identify experts. Still, all approaches we are aware of require a manual assessment of familiarity and empirical analyses of forgetting in software development are missing. In this paper, we address this issue with an empirical study that we conducted with 60 open-source developers. We used a survey to receive information on the developers' familiarity and analyze the responses based on data we extract from their used version control systems. The results show that forgetting is an important factor when considering familiarity and program comprehension of developers. We find that a forgetting curve is partly applicable for software development, investigate three factors - the number of edits, ratio of owned code, and tracking behavior - that can impact familiarity with code, and derive a general memory strength for our participants. Our findings can be used to scope approaches that have to consider familiarity and they provide insights into forgetting in the context of software development.
DOI 原文 ·
@inproceedings{paperbot4535,
title = {Do you remember this source code?},
author = {Jacob Krüger and Jens Wiemann and Wolfram Fenske and Gunter Saake and Thomas Leich},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180215}
}