首页> 外文会议>International Conference on Tests and Proofs;Software Technologies: Applications Foundations Conference >Deductive Binary Code Verification Against Source-Code-Level Specifications
【24h】

Deductive Binary Code Verification Against Source-Code-Level Specifications

机译:针对源代码级规范的演绎二进制代码验证

获取原文
获取外文期刊封面目录资料

摘要

There is a high demand in practical methods and tools to ensure total correctness of critical software components. A usual assumption is that the machine code (or binary code) generated by a compiler follows the semantics of the programming language. Unfortunately, modern compilers such as GCC and LLVM are too complex to be thoroughly verified, and bugs in the generated code are not uncommon. As an alternative approach, we suggest proving that the generated machine code still satisfies the functional properties expressed at the source code level. The suggested approach takes an ACSL-annotated C function along with its binary code and checks that the binary code meets the ACSL annotations. The main steps are as follows: (1) disassembling the machine code and extracting its semantics; (2) adapting the annotations to the machine level and generating the verification conditions. The implementation utilizes MicroTESK, Frama-C, Why3, and other tools. To illustrate the solution, we use the RISC-V microprocessor architecture; however, the approach is relatively independent of the target platform as it is based on formal specifications of the instruction set. It is worth noting that the presented method can be exploited as a test oracle for compiler testing.
机译:为了确保关键软件组件的整体正确性,对实用方法和工具有很高的要求。通常的假设是,由编译器生成的机器代码(或二进制代码)遵循编程语言的语义。不幸的是,诸如GCC和LLVM之类的现代编译器过于复杂而无法进行全面验证,并且所生成代码中的错误并不罕见。作为一种替代方法,我们建议证明生成的机器代码仍然满足在源代码级别表达的功能属性。建议的方法将带有ACSL注释的C函数及其二进制代码一起使用,并检查二进制代码是否符合ACSL注释。主要步骤如下:(1)分解机器代码并提取其语义; (2)使注释适应机器级别并生成验证条件。该实现利用了MicroTESK,Frama-C,Why3和其他工具。为了说明该解决方案,我们使用RISC-V微处理器体系结构。但是,该方法相对于目标平台相对独立,因为它基于指令集的形式规范。值得注意的是,所提出的方法可以用作编译器测试的测试预言。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号