...
首页> 外文期刊>Formal Methods in System Design >Translating Java for Multiple Model Checkers: The Bandera Back-End
【24h】

Translating Java for Multiple Model Checkers: The Bandera Back-End

机译:为多个模型检查器翻译Java:Bandera后端

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

摘要

One approach to model checking program source code is to view a model checker as a target machine. In this setting, program source code is translated to a model checker's input language using a process that shares much in common with program compilation. For example, well-defined intermediate program representations are used to stage the translation through a series of analyses and optimizing transformations and target-specific details are isolated in code generation modules. In this paper, we present the Bandera Intermediate Representation (BIR)—a guarded-assignment transformation system language that has been designed to support the translation of Java programs to a variety of model checkers. BIR includes constructs, such as inheritance, dynamic creation of data, and locking primitives, that are designed to model the semantics of Java primitives. BIR also includes several non-deterministic choice constructs that support abstraction in modeling and specification of properties of dynamic heap structures. We have developed a BIR-based tool infrastructure that has been applied to develop customized analysis frameworks for several different input languages using different model checking tools. We present BIR's type system and operational semantics in sufficient detail to support similar applications by other researchers. This semantics details several state space reductions and state space search variations. We describe the translation of Java to BIR and how BIR is translated to the input languages of several model checkers.
机译:模型检查程序源代码的一种方法是将模型检查器视为目标计算机。在此设置中,使用与程序编译有很多共同点的过程将程序源代码转换为模型检查器的输入语言。例如,定义明确的中间程序表示用于通过一系列分析来进行翻译,并优化转换,并且在代码生成模块中隔离特定于目标的细节。在本文中,我们介绍了Bandera中间表示(BIR)—一种保护分配转换系统语言,旨在支持Java程序到各种模型检查器的转换。 BIR包括用于建模Java原语语义的结构,例如继承,数据的动态创建和锁定原语。 BIR还包括一些非确定性选择结构,这些结构在动态堆结构的属性的建模和规范中支持抽象。我们已经开发了一种基于BIR的工具基础结构,该基础结构已用于使用不同的模型检查工具针对几种不同的输入语言开发自定义分析框架。我们将详细介绍BIR的类型系统和操作语义,以支持其他研究人员的类似应用程序。此语义详细说明了几种状态空间缩减和状态空间搜索变体。我们描述了Java到BIR的翻译以及BIR如何翻译成几种模型检查器的输入语言。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号