The Effect of Poor Source Code Lexicon and Readability on Developers' Cognitive Load

Sarah Fakhoury, Yuzhan Ma, V. Arnaoudova, Olusola O. Adesope
{"title":"The Effect of Poor Source Code Lexicon and Readability on Developers' Cognitive Load","authors":"Sarah Fakhoury, Yuzhan Ma, V. Arnaoudova, Olusola O. Adesope","doi":"10.1145/3196321.3196347","DOIUrl":null,"url":null,"abstract":"It has been well documented that a large portion of the cost of any software lies in the time spent by developers in understanding a program's source code before any changes can be undertaken. One of the main contributors to software comprehension, by subsequent developers or by the authors themselves, has to do with the quality of the lexicon, (i.e., the identifiers and comments) that is used by developers to embed domain concepts and to communicate with their teammates. In fact, previous research shows that there is a positive correlation between the quality of identifiers and the quality of a software project. Results suggest that poor quality lexicon impairs program comprehension and consequently increases the effort that developers must spend to maintain the software. However, we do not yet know or have any empirical evidence, of the relationship between the quality of the lexicon and the cognitive load that developers experience when trying to understand a piece of software. Given the associated costs, there is a critical need to empirically characterize the impact of the quality of the lexicon on developers' ability to comprehend a program. In this study, we explore the effect of poor source code lexicon and readability on developers' cognitive load as measured by a cutting-edge and minimally invasive functional brain imaging technique called functional Near Infrared Spectroscopy (fNIRS). Additionally, while developers perform software comprehension tasks, we map cognitive load data to source code identifiers using an eye tracking device. Our results show that the presence of linguistic antipatterns in source code significantly increases the developers' cognitive load.","PeriodicalId":441573,"journal":{"name":"2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC)","volume":"85 2","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"90","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3196321.3196347","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 90

Abstract

It has been well documented that a large portion of the cost of any software lies in the time spent by developers in understanding a program's source code before any changes can be undertaken. One of the main contributors to software comprehension, by subsequent developers or by the authors themselves, has to do with the quality of the lexicon, (i.e., the identifiers and comments) that is used by developers to embed domain concepts and to communicate with their teammates. In fact, previous research shows that there is a positive correlation between the quality of identifiers and the quality of a software project. Results suggest that poor quality lexicon impairs program comprehension and consequently increases the effort that developers must spend to maintain the software. However, we do not yet know or have any empirical evidence, of the relationship between the quality of the lexicon and the cognitive load that developers experience when trying to understand a piece of software. Given the associated costs, there is a critical need to empirically characterize the impact of the quality of the lexicon on developers' ability to comprehend a program. In this study, we explore the effect of poor source code lexicon and readability on developers' cognitive load as measured by a cutting-edge and minimally invasive functional brain imaging technique called functional Near Infrared Spectroscopy (fNIRS). Additionally, while developers perform software comprehension tasks, we map cognitive load data to source code identifiers using an eye tracking device. Our results show that the presence of linguistic antipatterns in source code significantly increases the developers' cognitive load.
不良源代码词汇和可读性对开发人员认知负荷的影响
有充分的文件证明,任何软件的大部分成本都在于开发人员在进行任何更改之前理解程序源代码所花费的时间。软件理解的主要贡献者之一,由后续的开发人员或作者自己,必须与词汇的质量有关,(即,标识符和注释),开发人员使用它来嵌入领域概念并与他们的团队进行交流。事实上,先前的研究表明,标识符的质量与软件项目的质量之间存在正相关关系。结果表明,低质量的词典损害了程序的理解,从而增加了开发人员必须花费在维护软件上的努力。然而,我们还不知道或者没有任何经验证据,来证明词典的质量和开发人员在试图理解一个软件时所经历的认知负荷之间的关系。考虑到相关的成本,迫切需要经验地描述词典的质量对开发人员理解程序的能力的影响。在这项研究中,我们通过一种名为功能近红外光谱(fNIRS)的尖端微创功能脑成像技术,探讨了糟糕的源代码词典和可读性对开发人员认知负荷的影响。此外,当开发人员执行软件理解任务时,我们使用眼动追踪设备将认知负载数据映射到源代码标识符。我们的研究结果表明,语言反模式在源代码中的存在显著增加了开发人员的认知负荷。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信