首页> 外文会议>ACM SIGPLAN Conference on Programming Language Design and Implementation >Compiler Testing via a Theory of Sound Optimisations in the C11/C++11 Memory Model
【24h】

Compiler Testing via a Theory of Sound Optimisations in the C11/C++11 Memory Model

机译:编译器测试通过C11 / C ++ 11内存模型中的声音优化理论进行测试

获取原文

摘要

Compilers sometimes generate correct sequential code but break the concurrency memory model of the programming language: these subtle compiler bugs are observable only when the miscom-piled functions interact with concurrent contexts, making them particularly hard to detect. In this work we design a strategy to reduce the hard problem of hunting concurrency compiler bugs to differential testing of sequential code and build a tool that puts this strategy to work. Our first contribution is a theory of sound optimisations in the C11/C++11 memory model, covering most of the optimisations we have observed in real compilers and validating the claim that common compiler optimisations are sound in the C11/C++11 memory model. Our second contribution is to show how, building on this theory, concurrency compiler bugs can be identified by comparing the memory trace of compiled code against a reference memory trace for the source code. Our tool identified several mistaken write introductions and other unexpected behaviours in the latest release of the gcc compiler.
机译:编译器有时会生成正确的顺序代码,但是打破了编程语言的并发内存模型:只有当Miscom-Pired函数与并发上下文交互时,才能观察到这些微妙的编译器错误,使其特别难以检测。在这项工作中,我们设计了一种策略,以减少狩猎并发编译器错误的难题,以对顺序代码的差异测试,并构建将这种策略工作的工具。我们的第一个贡献是C11 / C ++ 11内存模型中的声音优化理论,涵盖了我们在实际编译器中观察到的大多数优化,并验证了C11 / C ++ 11内存中的索赔声音的声明模型。我们的第二款贡献是展示如何构建本论,可以通过将编译代码的存储器迹线与源代码的参考存储器跟踪进行比较来识别并发编译器错误。我们的工具在GCC编译器的最新版本中确定了几个错误的写入介绍和其他意外行为。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号