首页> 外文会议>Verified software: theories, tools, experiments. >LLBMC: Bounded Model Checking of C and C++ Programs Using a Compiler IR
【24h】

LLBMC: Bounded Model Checking of C and C++ Programs Using a Compiler IR

机译:LLBMC:使用编译器IR进行C和C ++程序的边界模型检查

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

摘要

Bounded model checking (BMC) of C and C++ programs is challenging due to the complex and intricate syntax and semantics of these programming languages. The BMC tool LLBMC presented in this paper thus uses the LLVM compiler framework in order to translate C and C++ programs into LLVM's intermediate representation. The resulting code is then converted into a logical representation and simplified using rewrite rules. The simplified formula is finally passed to an SMT solver. In contrast to many other tools, LLBMC uses a flat, bit-precise memory model. It can thus precisely model, e.g., memory-based re-interpret casts as used in C and static/dynamic casts as used in C++. An empirical evaluation shows that LLBMC compares favorable to the related BMC tools CBMC and ESBMC.
机译:由于这些编程语言的语法复杂,因此C和C ++程序的边界模型检查(BMC)具有挑战性。因此,本文介绍的BMC工具LLBMC使用LLVM编译器框架,以便将C和C ++程序转换为LLVM的中间表示形式。然后将生成的代码转换为逻辑表示,并使用重写规则进行简化。简化的公式最终传递给SMT求解器。与许多其他工具相比,LLBMC使用平坦的位精确内存模型。因此,它可以精确地建模,例如,对C语言中使用的基于内存的重新解释强制转换和C ++语言中使用的静态/动态强制转换。实证评估表明,LLBMC优于相关的BMC工具CBMC和ESBMC。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号