Dynamically typed programming languages are popular in education and the software industry. While presenting a low barrier to entry, they suffer from run-time type errors and longer-term problems in code quality and maintainability. Statically typed languages, while showing strength in these aspects, lack in learnability and ease of use. In particular, fixing type errors poses challenges to both novice users and experts. Further, compiler-type error messages are presented in a static way that is biased toward the first occurrence of the error in the program code. To help users resolve such type errors, we introduce ChameleonIDE, a type debugging tool that presents type errors to the user in an unbiased way, allowing them to explore the full context of where the errors could occur. Programmers can interactively verify the steps of reasoning against their intention. Through three studies involving real programmers, we showed that ChameleonIDE is more effective in fixing type errors than traditional text-based error messages. This difference is more significant in harder tasks. Further, programmers actively using ChameleonIDE's interactive features are shown to be more efficient in fixing type errors than passively reading the type error output.


翻译:动态类型编程语言在教育和软件行业中广受欢迎。虽然入门门槛较低,但它们存在运行时类型错误以及代码质量和可维护性方面的长期问题。静态类型语言尽管在这些方面具有优势,但在易学性和易用性上有所欠缺。特别是,修复类型错误对新手用户和专家都构成了挑战。此外,编译器类型错误消息以静态方式呈现,且偏向于程序代码中首次出现的错误位置。为了帮助用户解决此类类型错误,我们引入了ChameleonIDE,这是一种类型调试工具,以无偏方式向用户呈现类型错误,允许他们探索错误可能发生的完整上下文。程序员可以交互式地验证推理步骤是否符合预期意图。通过三项涉及真实程序员的研究,我们证明ChameleonIDE在修复类型错误方面比传统的基于文本的错误消息更有效。这种差异在更困难的任务中更为显著。此外,与被动阅读类型错误输出相比,主动使用ChameleonIDE交互式功能的程序员在修复类型错误方面效率更高。

0
下载
关闭预览

相关内容

IFIP TC13 Conference on Human-Computer Interaction是人机交互领域的研究者和实践者展示其工作的重要平台。多年来,这些会议吸引了来自几个国家和文化的研究人员。官网链接:http://interact2019.org/
专知会员服务
16+阅读 · 2021年5月21日
强化学习最新教程,17页pdf
专知会员服务
182+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
105+阅读 · 2019年10月9日
Ballerina:面向数据编程
InfoQ
1+阅读 · 2022年6月7日
灾难性遗忘问题新视角:迁移-干扰平衡
CreateAMind
17+阅读 · 2019年7月6日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
【泡泡一分钟】DS-SLAM: 动态环境下的语义视觉SLAM
泡泡机器人SLAM
23+阅读 · 2019年1月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
R工程化—Rest API 之plumber包
R语言中文社区
11+阅读 · 2018年12月25日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2023年5月6日
Arxiv
4+阅读 · 2023年5月4日
VIP会员
最新内容
【剑桥博士论文】智能体-环境协同优化
专知会员服务
3+阅读 · 今天14:33
为初级军官战术训练设计生成式人工智能平台
专知会员服务
5+阅读 · 今天6:43
《美军条令:作战伤员后送保障》
专知会员服务
4+阅读 · 今天6:38
《美空军条令出版物 4-0,维持》
专知会员服务
4+阅读 · 今天6:32
《基于仿真的空军任务规划优化》
专知会员服务
4+阅读 · 今天6:21
相关基金
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员