一句话:EEG与眼动研究显示,高效程序员阅读更有针对性且认知负荷更低;常用经验指标预测效能差,自评与学习热情较准。
论文关注同等教育与背景下程序员效能(速度与正确性)差异的来源,旨在厘清效能与编程经验指标的关系,并从阅读行为与认知负荷角度寻找效能的相关因素。方法上开展 37 名被试的受控实验,结合脑电图(EEG)与眼动追踪,让被试理解最多 32 个 Java 代码片段,记录眼动与认知负荷神经指标,并分析效能与常用经验测量之间的相关性。结果发现,高效能程序员阅读源码更具目标性且认知负荷更低;常用经验等级不能很好预测效能,而自评与学习热情指标较准确。作者建议未来研究用效能作为分组抽样依据,并指出其可用于招聘等实践。
Background: Despite similar education and background, programmers can exhibit vast differences in efficacy. While research has identified some potential factors, such as programming experience and domain knowledge, the effect of these factors on programmers' efficacy is not well understood. Aims: We aim at unraveling the relationship between efficacy (speed and correctness) and measures of programming experience. We further investigate the correlates of programmer efficacy in terms of reading behavior and cognitive load. Method: For this purpose, we conducted a controlled experiment with 37 participants using electroencephalography (EEG) and eye tracking. We asked participants to comprehend up to 32 Java source-code snippets and observed their eye gaze and neural correlates of cognitive load. We analyzed the correlation of participants' efficacy with popular programming experience measures. Results: We found that programmers with high efficacy read source code more targeted and with lower cognitive load. Commonly used experience levels do not predict programmer efficacy well, but self-estimation and indicators of learning eagerness are fairly accurate. Implications: The identified correlates of programmer efficacy can be used for future research and practice (e.g., hiring). Future research should also consider efficacy as a group sampling method, rather than using simple experience measures.
@inproceedings{paperbot7121,
title = {Correlates of programmer efficacy and their link to experience: a combined EEG and eye-tracking study},
author = {Norman Peitek and Annabelle Bergum and Maurice Rekrut and Jonas Mucke and Matthias Nadig and Chris Parnin and Janet Siegmund and Sven Apel},
booktitle = {FSE},
year = {2022},
doi = {10.1145/3540250.3549084}
}