编程“语言”:大脑扫描显示,编码使用的区域与语言使用的区域相同
程序员在编写软件时脑子里在想些什么?这是由开姆尼茨理工大学软件工程系主任Janet Siegmund教授、萨尔大学软件工程系主任Sven Apel教授和马格德堡莱布尼茨神经生物学研究所非侵入性成像特殊实验室负责人André Brechmann博士提出的问题。为了找到答案,研究人员使用了神经科学的成像技术,并调查了阅读和理解计算机程序时大脑的哪些区域被激活。他们惊人的结果是:编程就像说话。他们发现,大脑中最活跃的区域也与处理自然语言相关。
他们现在已经在著名杂志上发表了他们的基础研究成果ACM通信该报告由世界上最大的计算机科学专业协会出版。第一作者是开姆尼茨理工大学的珍妮特·西格蒙德。这些发现可能会对编程语言的设计、编程教育或回答基本问题(如什么构成复杂或简单的程序代码)产生深远的影响。
新的研究方法——首先在编程中分析大脑
“这个研究问题的想法是在马格德堡莱布尼茨神经生物学研究所和马格德堡信息学学院的研究人员举行的一次联合会议上提出的,”Janet Siegmund说。在Kästner教授(卡耐基梅隆大学)和Parnin教授(北卡罗来纳州立大学)的支持下进行的几项小型和大型试点研究中,研究人员开发了一个通用的方法基础。这种努力是值得的,因为与此同时,Siegmund和她的同事们开发的方法论正在成为一种标准,并且已经在国际研究中证明了自己。
“我们的目标是开发一种全新的方法来更好地理解认知过程来自Saarbrücken的Sven Apel说。Siegmund, Apel和Brechmann在分析几行代码时,首次让程序员的大脑活动可见。为了做到这一点,科学家们像一个互补的单位一样合作。作为一名经验丰富的神经科学家,Brechmann贡献了他在功能磁共振成像(fMRI)方面的实验经验,而作为一名经验丰富的研究员,Apel贡献了他在软件开发方面的专业知识,而Siegmund以她在心理学和计算机科学方面的跨学科专业知识,起到了联系的作用。
研究设计在通往标准的路上
在这项研究中,研究小组使用了已经在神经科学领域证明了自己的减法方法:在这种方法中,受试者首先在磁共振断层扫描仪上完成一项任务,为了解决该任务,他们必须理解一段程序代码的摘要。在短暂的休息之后,他们被要求检查代码片段是否有简单的语法错误,这是程序员的例行任务,这意味着这不是理解的问题。这个过程重复了好几次。随后,日常任务处理过程中大脑活动的图像从理解测试的图像中减去剩下的图像大脑区域这对于程序理解的过程是特别重要的。
看看会发生什么大脑在这个过程中,团队使用了功能性核磁共振层析x射线摄影机。图像数据清楚地显示了测试对象的左侧活动大脑区域,这主要与言语理解有关。“令我们惊讶的是,我们并没有观察到任何有关数学或逻辑思维的活动,”研究人员在总结研究结果时说。“我们的研究表明,语音理解在编程中起着核心作用。著名的荷兰计算机科学家Edsger W. Dijkstra在20世纪80年代就已经表达了这一假设。
的研究设计已经被世界各地的研究小组接受并扩展到包括其他方面。研究团队认为,通过发现不同于阅读理解和逻辑推理的新认知过程,研究结果也可以反馈给神经科学。
由Siegmund, Apel和Brechmann领导的团队现在希望找出专家和初学者对程序的理解是如何不同的——他们是否以不同的方式阅读和解释程序代码。
进一步探索
用户评论