当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A Look into Programmers' Heads
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2020-04-01 , DOI: 10.1109/tse.2018.2863303
Norman Peitek , Janet Siegmund , Sven Apel , Christian Kastner , Chris Parnin , Anja Bethmann , Thomas Leich , Gunter Saake , Andre Brechmann

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?

中文翻译:

看看程序员的头脑

程序理解是一个重要但难以衡量的认知过程。这使得很难提供合适的编程语言、工具或编码约定来支持开发人员的日常工作。在这里,我们探讨了功能性磁共振成像 (fMRI) 是否适用于可靠地测量程序理解。为此,我们在 fMRI 扫描仪中观察了 17 名参与者,同时他们正在理解源代码。结果显示,与工作记忆、注意力和语言处理相关的五个大脑区域有清晰、明显的激活,这些区域都非常适合我们对程序理解的理解。此外,我们发现默认模式网络中的活动减少,表明程序理解所需的认知努力。我们还观察到,熟悉 Java 作为底层编程语言会减少程序理解过程中的认知努力。为了获得对结果和方法的信心,我们对 11 名新参与者重复了这项研究,并在很大程度上证实了我们的发现。我们的结果鼓励我们,并希望其他人使用 fMRI 来观察程序员,并从长远来看回答问题,例如:我们应该如何培训程序员?我们可以培养一个人成为一名优秀的程序员吗?用于程序理解的新语言和工具的效果如何?从长远来看,回答问题,例如:我们应该如何培训程序员?我们可以培养一个人成为一名优秀的程序员吗?用于程序理解的新语言和工具的效果如何?从长远来看,回答问题,例如:我们应该如何培训程序员?我们可以培养一个人成为一名优秀的程序员吗?用于程序理解的新语言和工具的效果如何?
更新日期:2020-04-01
down
wechat
bug