首页> 外文会议>European conference on object-oriented programming >Heap Decomposition Inference with Linear Programming
【24h】

Heap Decomposition Inference with Linear Programming

机译:线性规划的堆分解推断

获取原文

摘要

Hierarchical decomposition is a fundamental principle that encourages the organization of program elements into nested scopes of access, instead of treating all as "global." This paper offers a foundational study of heap decomposition inference, the problem of statically extracting the decomposition hierarchy latent in the runtimes of object-oriented programs, henceforth revealing the compositional nature of the heap. The centerpiece of the paper is Cypress, a sound, precise, and scalable constraint-based ownership type inference coupled with a novel application of linear programming over integers. All constraints in Cypress are linear, and the precision of decomposition - placing objects to scopes as non-global as possible - can be reduced to a linear programming problem. Cypress has been implemented as an open-source tool that can decompose real-world Java applications of more than 100K LOC and up to 6000 statically distinct instantiations.
机译:层次分解是一个基本原则,它鼓励将程序元素组织到嵌套的访问范围中,而不是将所有内容都视为“全局”。本文提供了堆分解推理的基础研究,即静态提取面向对象程序运行时潜在的分解层次的问题,从而揭示了堆的组成性质。本文的核心是赛普拉斯(Cypress),这是一种声音,精确且可扩展的基于约束的所有权类型推断,以及对整数进行线性编程的新颖应用。赛普拉斯中的所有约束都是线性的,分解的精度(将对象尽可能地置于非全局范围内)可以降低为线性编程问题。赛普拉斯已实现为一种开放源代码工具,可以分解超过100K LOC和多达6000个静态不同实例化的实际Java应用程序。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号