How type errors were fixed and what students did?

How type errors were fixed and what students did?
复制标题

如何修复打字错误以及学生们做了什么?

DOI:
--
复制
发表时间:
2017
期刊:
Proc. ACM Program. Lang.
影响因子:
--
通讯作者:
Sheng Chen
Sheng Chen
中科院分区:
--
文献类型:
--
作者:
Baijun Wu;Sheng Chen

文献摘要

被引文献

相似文献

在过去的三十年里,为调试类型错误提供更好的支持一直是一个活跃的研究领域。已经从不同的角度制定了许多办法。大多数方法仅在某些条件下才能正常工作,例如,当类型错误由单个叶子引起时,以及当类型注释正确时。然而,研究界仍然不知道哪些条件在实践中成立,以及真实的调试情况是什么样的。我们解决这个问题的3个程序数据集,这是写在不同的年份,使用不同的编译器,并有不同的大小的研究。它们包括55,000多个程序,其中2,700多个程序是错误的。我们调查了所有的病态类型的程序,我们的研究结果表明,目前的错误调试支持是远远不够的,在实践中,因为只有约35%的所有类型的错误是由单叶子。此外,类型注释在错误调试器中并不总是可信的,因为大约30%的类型错误是由错误的类型注释引起的。我们的研究也提供了许多见解的调试行为的学生在函数式编程,可以利用开发更有效的错误调试器。
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.