首页> 外文会议>Asian symposium on programming languages and systems >Black-Box Equivalence Checking Across Compiler Optimizations
【24h】

Black-Box Equivalence Checking Across Compiler Optimizations

机译:跨编译器优化的黑匣子等效检查

获取原文

摘要

Equivalence checking is an important building block for program synthesis and verification. For a synthesis tool to compete with modern compilers, its equivalence checker should be able to verify the transformations produced by these compilers. We find that the transformations produced by compilers are much varied and the presence of undefined behaviour allows them to produce even more aggressive optimizations. Previous work on equivalence checking has been done in the context of translation validation, where either a pass-by-pass based approach was employed or a set of handpicked optimizations were proven. These settings are not suitable for a synthesis tool where a black-box approach is required. This paper presents the design and implementation of an equivalence checker which can perform black-box checking across almost all the composed transformations produced by modern compilers. We evaluate the checker by testing it across unoptimized and optimized binaries of SPEC benchmarks generated by gcc, clang, ice and ccomp. The tool has overall success rates of 76% and 72% for 02 and 03 optimizations respectively, for this first of its kind experiment.
机译:等效检查是程序综合和验证的重要组成部分。对于要与现代编译器竞争的综合工具,其等效性检查器应能够验证这些编译器产生的转换。我们发现编译器产生的转换是多种多样的,并且未定义行为的存在使它们能够产生更具攻击性的优化。先前的等效性检查工作是在翻译验证的背景下完成的,在这种情况下,要么采用了基于逐行的方法,要么证明了一组精心挑选的优化方案。这些设置不适用于需要使用黑盒方法的综合工具。本文介绍了等效检查器的设计和实现,该检查器可以对现代编译器生成的几乎所有组合转换执行黑盒检查。我们通过跨gcc,clang,ice和ccomp生成的SPEC基准的未优化和优化的二进制文件对其进行测试,从而对检查程序进行评估。该工具首次进行此类实验时,对于02和03优化,该工具的总体成功率分别为76%和72%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号