Skalpel: A constraint-based type error slicer for Standard ML

Skalpel: A constraint-based type error slicer for Standard ML
复制标题

Skalpel:标准 ML 的基于约束的类型错误切片器

DOI:
10.1016/j.jsc.2016.07.013
复制
发表时间:
2017
期刊:
J. Symb. Comput.
影响因子:
--
通讯作者:
Fairouz Kamareddine
Fairouz Kamareddine
中科院分区:
--
文献类型:
--
作者:
Vincent Rahli;J. Wells;John Pirie;Fairouz Kamareddine

文献摘要

参考文献

被引文献

相似文献

具有类型推理算法的语言的编译器经常产生令人困惑的类型错误消息,并且给出单个错误位置,该错误位置有时远离错误的真实的位置。解决这个问题的尝试通常(1)不能包括构成类型错误的多个程序点;(2)不对应于用户程序中的任何位置的报告树片段;以及(3)给出可能高度混乱的不正确的类型信息/诊断。我们提出了Skalpel,类型错误切片工具,它解决了这些问题,给programerall,只有涉及类型错误的信息,以显着帮助诊断和修复类型错误。Skalpel依赖于一个简单的和一般的约束系统,一个复杂的约束生成器,这是线性的程序大小,和一个约束求解器,这是终止。Skalpel的约束系统可以优雅而有效地处理复杂的特征,例如SML的open。我们还表明,Skalpel工具是通用的,不仅可以处理一个源代码文件和一个单一的错误,但突出显示所有的,只有可能的位置的错误(S)在所有受影响的文件,并产生所有的罪魁祸首多个程序切片。
Compilers for languages with type inference algorithms often produce confusing type error messages and give a single error location which is sometimes far away from the real location of the error. Attempts at solving this problem often (1) fail to include the multiple program points which make up the type error; (2) report tree fragments which do not correspond to any place in the user program; and (3) give incorrect type information/diagnosis which can be highly confusing. We present Skalpel, a type error slicing tool which solves these problems by giving the programmerall and onlythe information involved with a type error to significantly aid in diagnosis and repair of type errors. Skalpel relies on a simple and general constraint system, a sophisticated constraint generator which is linear in program size, and a constraint solver which is terminating. Skalpel's constraint system can elegantly and efficiently handle intricate features such as SML'sopen. We also show that the Skalpel tool is general enough to deal not only with one source code file and one single error, but highlights all and only the possible locations of the error(s) in all affected files and produces all the culprit multiple program slices.
嵌入式调试器
DOI: 10.1007/978-3-642-41582-1_12
发表时间: 2013
期刊: Implementation and Application of Functional Languages
影响因子: --
作者:
Kanae Tsushima;Kenichi Asai
通讯作者: Kenichi Asai