Affiliation:
1. University of Louisiana at Lafayette, USA
Abstract
Providing better supports for debugging type errors has been an active research area in the last three decades. Numerous approaches from different perspectives have been developed. Most approaches work well under certain conditions only, for example, when type errors are caused by single leaves and when type annotations are correct. However, the research community is still unaware of which conditions hold in practice and what the real debugging situations look like. We address this problem with a study of 3 program data sets, which were written in different years, using different compilers, and were of diverse sizes. They include more than 55,000 programs, among which more than 2,700 are ill typed. We investigated all the ill-typed programs, and our results indicate that current error debugging support is far from sufficient in practice since only about 35% of all type errors were caused by single leaves. In addition, type annotations cannot always be trusted in error debuggers since about 30% of the time type errors were caused by wrong type annotations. Our study also provides many insights about the debugging behaviors of students in functional programming, which could be exploited for developing more effective error debuggers.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference54 articles.
1. Karen L. Bernstein and Eugene W. Stark. 1995. Debugging Type Errors. Technical Report. State University of New York at Stony Brook. Karen L. Bernstein and Eugene W. Stark. 1995. Debugging Type Errors. Technical Report. State University of New York at Stony Brook.
2. The risks and benefits of teaching purely functional programming in first year
3. Counter-factual typing for debugging type errors
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. How to Evaluate Blame for Gradual Types, Part 2;Proceedings of the ACM on Programming Languages;2023-08-30
2. ChameleonIDE: Untangling Type Errors Through Interactive Visualization and Exploration;2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC);2023-05
3. Efficient counter-factual type error debugging;Science of Computer Programming;2020-12
4. Taming type annotations in gradual typing;Proceedings of the ACM on Programming Languages;2020-11-13
5. Automatic diagnosis and correction of logical errors for functional programming assignments;Proceedings of the ACM on Programming Languages;2018-10-24