首页> 外文会议>Annual ACM SIGPLAN-SIGACT symposium on principles of programming languages >Formal Verification of Object Layout for C++ Multiple Inheritance
【24h】

Formal Verification of Object Layout for C++ Multiple Inheritance

机译:用于C ++多重继承的对象布局的正式验证

获取原文

摘要

Object layout - the concrete in-memory representation of objects - raises many delicate issues in the case of the C++ language, owing in particular to multiple inheritance. C compatibility and separate compilation. This paper formalizes a family of C++ object layout schemes and mechanically proves their correctness against the operational semantics for multiple inheritance of Wasserrab et at. This formalization is flexible enough to account for space-saving techniques such as empty base class optimization and tail-padding optimization. As an application, we obtain the first formal correctness proofs for realistic, optimized object layout algorithms, including one based on the popular "common vendor" Itanium C++ application binary interface. This work provides semantic foundations to discover and justify new layout optimizations; it is also a first step towards the verification of a C++ compiler front-end.
机译:对象布局 - 对象的混凝土内存表示 - 在C ++语言的情况下提高了许多微妙的问题,特别是多重继承。 C兼容性和单独的编译。本文正式地规范了一个C ++对象布局方案的系列,并机械地证明了对WassErab等的多种继承的运营语义的正确性。这种形式化足够灵活,无法解释空间节省空间技术,例如空基类优化和尾填充优化。作为一个应用程序,我们获得了用于现实,优化的对象布局算法的第一个正式正确证明,包括基于流行的“公共供应商”Itanium C ++应用程序二进制接口。这项工作提供了语义基础,以发现并证明新的布局优化;它也是验证C ++编译器前端的第一步。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号