Reading code is an essential activity in software maintenance and evolution. Several studies with human subjects have investigated how different factors, such as the employed programming constructs and naming conventions, can impact code readability, i.e., what makes a program easier or harder to read and apprehend by developers, and code legibility, i.e., what influences the ease of identifying elements of a program. These studies evaluate readability and legibility by means of different comprehension tasks and response variables. In this paper, we examine these tasks and variables in studies that compare programming constructs, coding idioms, naming conventions, and formatting guidelines, e.g., recursive vs. iterative code. To that end, we have conducted a systematic literature review where we found 54 relevant papers. Most of these studies evaluate code readability and legibility by measuring the correctness of the subjects' results (83.3%) or simply asking their opinions (55.6%). Some studies (16.7%) rely exclusively on the latter variable.There are still few studies that monitor subjects' physical signs, such as brain activation regions (5%). Moreover, our study shows that some variables are multi-faceted. For instance, correctness can be measured as the ability to predict the output of a program, answer questions about its behavior, or recall parts of it. These results make it clear that different evaluation approaches require different competencies from subjects, e.g., tracing the program vs. summarizing its goal vs. memorizing its text. To assist researchers in the design of new studies and improve our comprehension of existing ones, we model program comprehension as a learning activity by adapting a preexisting learning taxonomy. This adaptation indicates that some competencies are often exercised in these evaluations whereas others are rarely targeted.


翻译:阅读代码是软件维护和进化中的一项基本活动。 几项与人类主题有关的研究调查了不同因素如何影响代码可读性, 例如,使用的程序构建和命名惯例等不同因素如何影响代码可读性, 即,是什么使得程序更容易或更难地被开发者阅读和逮捕, 以及代码可读性, 即哪些影响识别程序要素的容易程度。 这些研究通过不同的理解任务和反应变量评估可读性和可读性。 在本文件中, 我们研究这些任务和变量是如何比较编程结构、 编译特征、 命名公约和格式化指南等不同因素的, 例如, 循环和代代用代码。 为此, 我们进行了系统化的文献审查, 我们找到了54份相关文件。 大部分这些研究通过测量主题结果的正确性来评估数据的正确性, (83.3%) 或只是询问他们的意见(55.6%) 。 一些研究( ) 完全依赖后一种模式。 仍然很少有研究来监测主题的物理迹象, 例如大脑激活区域( 5% ) 。 此外, 我们的研究显示, 一些变量是多面的变量是,,, 其 排序, 选择 选择 的 选择 的, 选择 选择 选择 选择 选择 的 选择 的 的 。 的 的 的 。

0
下载
关闭预览

相关内容

一个旨在提升互联网阅读体验的工具。 readability.com/
专知会员服务
19+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
82+阅读 · 2020年7月26日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
105+阅读 · 2019年10月9日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年10月12日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Arxiv
7+阅读 · 2019年10月6日
VIP会员
最新内容
ICML 2026 | CFPO:用反事实策略优化提升多模态推理
专知会员服务
1+阅读 · 今天14:45
综述 | 世界动作模型:少做梦,多行动
专知会员服务
1+阅读 · 今天14:43
美以伊冲突:无人机与人工智能的运用
专知会员服务
3+阅读 · 今天14:31
《特种部队在透明战场中的生存力》最新报告
专知会员服务
2+阅读 · 今天14:11
《人工智能生成的零日漏洞:对未来作战的影响》
综述 | 3D场景图:开放挑战与未来方向
专知会员服务
8+阅读 · 6月22日
21世纪的无人机战争
专知会员服务
4+阅读 · 6月22日
《量子技术的军事任务技术适配与利用》
专知会员服务
5+阅读 · 6月22日
相关资讯
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
已删除
将门创投
7+阅读 · 2018年10月12日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Top
微信扫码咨询专知VIP会员