...
首页> 外文期刊>Journal of Automated Reasoning >A Verified CompCert Front-End for a Memory Model Supporting Pointer Arithmetic and Uninitialised Data
【24h】

A Verified CompCert Front-End for a Memory Model Supporting Pointer Arithmetic and Uninitialised Data

机译:经过验证的CompCert前端,用于支持指针算术和未初始化数据的内存模型

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

获取外文期刊封面封底 >>

       

摘要

The CompCert C compiler guarantees that the target program behaves as the source program. Yet, source programs without a defined semantics do not benefit from this guarantee and could therefore be miscompiled. To reduce the possibility of a miscompilation, we propose a novel memory model for CompCert which gives a defined semantics to challenging features such as bitwise pointer arithmetics and access to uninitialised data. We evaluate our memory model both theoretically and experimentally. In our experiments, we identify pervasive low-level C idioms that require the additional expressiveness provided by our memory model. We also show that our memory model provably subsumes the existing CompCert memory model thus cross-validating both semantics. Our memory model relies on the core concepts of symbolic value and normalisation. A symbolic value models a delayed computation and the normalisation turns, when possible, a symbolic value into a genuine value. We show how to tame the expressive power of the normalisation so that the memory model fits the proof framework of CompCert. We also adapt the proofs of correctness of the compiler passes performed by CompCert's front-end, thus demonstrating that our model is well-suited for proving compiler transformations.
机译:CompCert C编译器保证目标程序的行为与源程序相同。但是,没有定义语义的源程序无法从此保证中受益,因此可能会被错误编译。为了减少错误编译的可能性,我们为CompCert提出了一种新颖的内存模型,该模型为具有挑战性的功能(如按位指针算术和未初始化数据的访问)提供了定义的语义。我们在理论和实验上评估我们的记忆模型。在我们的实验中,我们确定了普遍的低级C习语,这些习语需要我们的记忆模型提供额外的表达能力。我们还表明,我们的内存模型可证明地包含了现有的CompCert内存模型,从而交叉验证了这两种语义。我们的内存模型依赖于符号值和规范化的核心概念。符号值对延迟的计算进行建模,并且归一化在可能时将符号值转换为真实值。我们展示了如何驯服规范化的表达能力,以使内存模型适合CompCert的证明框架。我们还修改了CompCert前端执行的编译器遍历的正确性证明,从而证明我们的模型非常适合证明编译器转换。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号