首页> 外文期刊>Journal of symbolic computation >Skalpel: A constraint-based type error slicer for Standard ML
【24h】

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

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

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

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 programmer all and only the 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's open. 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. (C) 2016 Elsevier Ltd. All rights reserved.
机译:具有类型推断算法的语言的编译器通常会产生令人困惑的类型错误消息,并给出一个错误位置,该错误位置有时与错误的实际位置相距甚远。尝试解决此问题的尝试常常是(1)无法包括构成类型错误的多个程序点; (2)报告树片段,这些片段与用户程序中的任何位置都不对应; (3)提供不正确的类型信息/诊断,这可能会造成很大的混乱。我们介绍Skalpel,一种类型错误切片工具,它通过向程序员提供所有且仅涉及类型错误的信息来解决这些问题,从而极大地帮助诊断和修复类型错误。 Skalpel依赖于简单而通用的约束系统,复杂的约束生成器(其程序大小是线性的)和终止于约束的求解器。 Skalpel的约束系统可以优雅有效地处理SML开放等复杂功能。我们还显示,Skalpel工具足够通用,不仅可以处理一个源代码文件和一个错误,而且可以突出显示所有受影响文件中所有错误,并且仅突出显示错误的所有可能位置,并产生所有罪魁祸首的多个程序片段。 (C)2016 Elsevier Ltd.保留所有权利。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号