【24h】

Semantic type qualifiers

机译:语义类型限定词

获取原文

摘要

We present a new approach for supporting user-defined type refinements, which augment existing types to specify and check additional invariants of interest to programmers. We provide an expressive language in which users define new refinements and associated type rules. These rules are automatically incorporated by an extensible typechecker during static typechecking of programs. Separately, a soundness checkerautomatically proves that each refinement's type rules ensure the intended invariant, for all possible programs. We have formalized our approach and have instantiated it as a framework for adding new type qualifiers to C programs. We have used this framework to define and automatically prove sound a host of type qualifiers of different sorts, including pos and neg for integers, tainted and untainted for strings, and nonnull and unique for pointers, and we have applied our qualifiers to ensure important invariants on open-source C programs.
机译:我们提出了一种支持用户定义类型细化的新方法,该方法可以扩展现有类型以指定并检查程序员感兴趣的其他不变量。我们提供一种表达性语言,用户可以在其中定义新的提炼和相关的类型规则。这些规则由可扩展类型检查器在程序的静态类型检查期间自动合并。另外,健全性检查器会自动证明,对于所有可能的程序,每个细化的类型规则都确保了预期的不变性。我们已经对方法进行了形式化并将其实例化为向C程序添加新类型限定符的框架。我们已经使用该框架定义并自动证明了声音的各种类型限定符,包括整数的pos和neg,字符串的污染和无污染,指针的非空和唯一,并且我们应用了限定符以确保重要的不变性在开源C程序上。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号