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
期刊:
影响因子:
--
通讯作者:
Fairouz Kamareddine
中科院分区:
文献类型:
--
作者:
Vincent Rahli;J. Wells;John Pirie;Fairouz Kamareddine
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