【24h】

Verified validation of lazy code motion

机译:验证了懒码运动的验证

获取原文

摘要

Translation validation establishes a posteriori the correctness of a run of a compilation pass or other program transformation. In this paper, we develop an efficient translation validation algorithm for the Lazy Code Motion (LCM) optimization. LCM is an interesting challenge for validation because it is a global optimization that moves code across loops. Consequently, care must be taken not to move computations that may fail before loops that may not terminate. Our validator includes a specific check for anticipability to rule out such incorrect moves. We present a mechanically-checked proof of correctness of the validation algorithm, using the Coq proof assistant. Combining our validator with an unverified implementation of LCM, we obtain a LCM pass that is provably semantics-preserving and was integrated in the CompCert formally verified compiler.
机译:翻译验证可以确定后验编译遍历或其他程序转换的正确性。在本文中,我们为懒码运动(LCM)优化开发了一种有效的翻译验证算法。 LCM对于验证是一个有趣的挑战,因为它是全局代码优化,可跨循环移动代码。因此,必须注意不要在可能不会终止的循环之前移动可能失败的计算。我们的验证器包括针对可预期性的特定检查,以排除此类不正确的举动。我们使用Coq证明助理提供了一种经过机械检查的验证算法正确性证明。将我们的验证器与未经验证的LCM实现相结合,我们获得了LCM验证,该验证可保留语义,并已集成到CompCert正式验证的编译器中。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号