How to evaluate blame

How to evaluate blame
复制标题

如何评价责备

DOI:
10.1145/3473573
复制
发表时间:
2021
期刊:
International Conference on Functional Programming
影响因子:
--
通讯作者:
Lazarek, Greenman
Lazarek, Greenman
中科院分区:
--
文献类型:
--
作者:
Lazarek, Greenman

文献摘要

相似文献

程序设计语言理论家为逐渐类型化的程序设计语言开发了责任分配系统并证明了责任定理。渐进式类型的实际实现几乎完全忽略了责任分配的概念。这种对比提出了责备是否对工作的程序员有任何价值的问题,并提出了如何评估责备分配策略的有效性的挑战。本文提出了(1)责任分配策略的第一种评价方法,(2)将其应用于三种不同的语义逐步分类的结果。这些结果使人们对责备在渐进式分类中的理论有效性产生了怀疑。在大多数情况下,不精确的责任分配策略与可证明正确的责任分配策略对理性行为的程序员一样有帮助。
Programming language theoreticians develop blame assignment systems and prove blame theorems for gradually typed programming languages. Practical implementations of gradual typing almost completely ignore the idea of blame assignment. This contrast raises the question whether blame provides any value to the working programmer and poses the challenge of how to evaluate the effectiveness of blame assignment strategies. This paper contributes (1) the first evaluation method for blame assignment strategies and (2) the results from applying it to three different semantics for gradual typing. These results cast doubt on the theoretical effectiveness of blame in gradual typing. In most scenarios, strategies with imprecise blame assignment are as helpful to a rationally acting programmer as strategies with provably correct blame.