首页> 外文期刊>Science of Computer Programming >Type inference and strong static type checking for Promela
【24h】

Type inference and strong static type checking for Promela

机译:Promela的类型推断和强静态类型检查

获取原文
获取原文并翻译 | 示例

摘要

The Spin model checker and its specification language Promela have been used extensively in industry and academia to check the logical properties of distributed algorithms and protocols. Model checking with Spin involves reasoning about a system via an abstract Promela specification, thus the technique depends critically on the soundness of this specification. Promela includes a rich set of data types including first-class channels, but the language syntax restricts the declaration of channel types so that it is not generally possible to deduce the complete type of a channel directly from its declaration. We present the design and implementation of Etch, an enhanced type checker for Promela, which uses constraint-based type inference to perform strong type checking of Promela specifications, allowing static detection of errors that Spin would not detect until simulation/verification time, or that Spin may miss completely. We discuss theoretical and practical problems associated with designing a type system and type checker for an existing language, and formalise our approach using a Promela-like calculus. To handle subtyping between base types, we present an extension to a standard unification algorithm to solve a system of equality and subtyping constraints, based on bounded substitutions.
机译:Spin模型检查器及其规范语言Promela已在工业和学术界广泛使用,以检查分布式算法和协议的逻辑属性。使用Spin进行模型检查涉及通过抽象的Promela规范对系统进行推理,因此该技术关键取决于该规范的健全性。 Promela包括一组丰富的数据类型,包括一流的通道,但是语言语法限制了通道类型的声明,因此通常不可能直接从其声明中推断出通道的完整类型。我们介绍了Etch的设计和实现,这是Promela的增强型类型检查器,它使用基于约束的类型推断对Promela规范执行强类型检查,从而允许静态检测Spin直到仿真/验证时间才能检测到的错误,或者旋转可能会完全丢失。我们讨论与为现有语言设计类型系统和类型检查器相关的理论和实践问题,并使用类似于Promela的演算来规范化我们的方法。为了处理基本类型之间的子类型化,我们提出了对标准统一算法的扩展,以解决基于有界替换的等式和子类型约束的系统。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号