Although writing code seems trivial at times, problems arise when humans misinterpret what the code actually does. One of the potential causes are "atoms of confusion", the smallest possible patterns of misinterpretable source code. Previous research has investigated the impact of atoms of confusion in C code. Results show that developers make significantly more mistakes in code where atoms are present. In this paper, we replicate the work of Gopstein et al. to the Java language. After deriving a set of atoms of confusion for Java, we perform a two-phase experiment with 132 computer science students (i.e., novice developers). Our results show that participants are 2.7 up to 56 times more likely to make mistakes in code snippets affected by 7 out of the 14 studied atoms of confusion, and when faced with both versions of the code snippets, participants perceived the version affected by the atom of confusion to be more confusing and/or less readable in 10 out of the 14 studied atoms of confusion.


翻译:虽然书写代码有时显得微不足道,但当人们曲解代码的实际作用时,就会出现问题。 潜在原因之一是“ 混乱的原子 ”, 可能最小的错误源代码模式。 先前的研究已经调查了C代码中混乱原子的影响。 结果显示,开发商在原子存在的代码中犯的错误要多得多。 在本文中,我们把Gopstein et al. 的作品复制到爪哇语中。 在为爪哇产生一系列混乱的原子之后,我们与132名计算机科学学生(即新开发商)进行了两阶段实验。 我们的结果表明,参与者在受14个被研究的混乱原子中7个影响的代码片中犯错误的可能性高达2.7至56倍。 当面对两个版本的代码片断时, 参与者认为, 被混乱的原子影响到的版本在14个被研究的混乱原子中的10个中更加混乱和(或)不易读。

0
下载
关闭预览

相关内容

GitHub 发布的文本编辑器。
【干货书】机器学习速查手册,135页pdf
专知会员服务
125+阅读 · 2020年11月20日
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
专知会员服务
171+阅读 · 2020年6月4日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
194+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
Java 线程究竟占用多少内存
ImportNew
6+阅读 · 2019年6月27日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Python机器学习教程资料/代码
机器学习研究会
8+阅读 · 2018年2月22日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Arxiv
5+阅读 · 2018年5月22日
Arxiv
7+阅读 · 2017年12月28日
VIP会员
相关VIP内容
【干货书】机器学习速查手册,135页pdf
专知会员服务
125+阅读 · 2020年11月20日
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
专知会员服务
171+阅读 · 2020年6月4日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
194+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
相关资讯
Java 线程究竟占用多少内存
ImportNew
6+阅读 · 2019年6月27日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Python机器学习教程资料/代码
机器学习研究会
8+阅读 · 2018年2月22日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】YOLO实时目标检测(6fps)
机器学习研究会
20+阅读 · 2017年11月5日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
Top
微信扫码咨询专知VIP会员