A Look into Programmers' Heads

A Look into Programmers' Heads
复制标题

DOI:
10.1109/tse.2018.2863303
复制
发表时间:
2020-04-01
影响因子:
7.4
通讯作者:
Brechmann, Andre
Brechmann, Andre
中科院分区:
计算机科学1区
文献类型:
--
作者:
Peitek, Norman;Siegmund, Janet;Brechmann, Andre

文献摘要

被引文献

相似文献

程序理解是一个重要但很难衡量的认知过程。这使得很难提供合适的编程语言、工具或编码约定来支持开发人员的日常工作。在这里,我们探索功能磁共振成像(FMRI)是否可以合理地测量程序的理解能力。为此,我们观察了17名参与者在fMRI扫描仪内理解源代码的情况。结果显示,大脑中与工作记忆、注意力和语言处理相关的五个区域被明显激活,这五个区域都非常符合我们对程序理解的理解。此外,我们发现默认模式网络中的活动减少,表明程序理解所需的认知努力。我们还观察到,熟悉Java作为底层编程语言会减少程序理解过程中的认知努力。为了获得对结果和方法的信心,我们对11名新参与者重复了这项研究,并在很大程度上证实了我们的发现。我们的结果鼓励我们以及其他人使用功能磁共振成像来观察程序员,并从长远来看,回答一些问题,比如:我们应该如何培训程序员?我们能把人培养成一名优秀的程序员吗?新的语言和工具对程序理解有多有效?
Program comprehension is an important, but hard to measure cognitive process. This makes it difficult to provide suitable programming languages, tools, or coding conventions to support developers in their everyday work. Here, we explore whether functional magnetic resonance imaging (fMRI) is feasible for soundly measuring program comprehension. To this end, we observed 17 participants inside an fMRI scanner while they were comprehending source code. The results show a clear, distinct activation of five brain regions, which are related to working memory, attention, and language processing, which all fit well to our understanding of program comprehension. Furthermore, we found reduced activity in the default mode network, indicating the cognitive effort necessary for program comprehension. We also observed that familiarity with Java as underlying programming language reduced cognitive effort during program comprehension. To gain confidence in the results and the method, we replicated the study with 11 new participants and largely confirmed our findings. Our results encourage us and, hopefully, others to use fMRI to observe programmers and, in the long run, answer questions, such as: How should we train programmers? Can we train someone to become an excellent programmer? How effective are new languages and tools for program comprehension?