首页> 外文期刊>Science of Computer Programming >Conditional termination of loops over heap-allocated data
【24h】

Conditional termination of loops over heap-allocated data

机译:有条件地终止堆分配的数据循环

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

摘要

Static analysis which takes into account the values of data stored in the heap is considered complex and computationally intractable in practice. Thus, most static analyzers do not keep track of object fields nor of array contents, i.e., they are heap-insensitive. In this article, we propose locality conditions for soundly tracking heap-allocated data in Java (bytecode) programs, by means of ghost non-heap allocated variables. This way, heap-insensitive analysis over the transformed program can infer information on the original heap-allocated data without sacrificing efficiency. If the locality conditions cannot be proven unconditionally, we seek to generate aliasing preconditions which, when they hold in the initial state, guarantee the termination of the program. Experimental results show that we greatly improve the accuracy w.r.t. a heap-insensitive analysis while the overhead introduced is reasonable.
机译:考虑到存储在堆中的数据值的静态分析在实践中被认为是复杂且计算上棘手的。因此,大多数静态分析器不会跟踪对象字段或数组内容,即它们对堆不敏感。在本文中,我们提出了通过虚幻非堆分配的变量来合理跟踪Java(字节码)程序中堆分配的数据的局部条件。这样,对转换后的程序进行的对堆不敏感的分析可以在不牺牲效率的情况下推断有关原始堆分配数据的信息。如果不能无条件地证明局部条件,我们将尝试生成别名先决条件,当它们处于初始状态时,可以保证程序的终止。实验结果表明,我们极大地提高了w.r.t.对堆不敏感的分析,而引入的开销是合理的。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号