首页> 外文会议>ECOOP 2008 - Object-Oriented Programming >Computing Stack Maps with Interfaces
【24h】

Computing Stack Maps with Interfaces

机译:使用接口计算堆栈映射

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

摘要

Lightweight bytecode verification uses stack maps to annotate Java bytecode programs with type information in order to reduce the verification to type checking. This paper describes an improved bytecode analyser together with algorithms for optimizing the stack maps generated. The analyser is simplified in its treatment of base values (keeping only the necessary information to ensure memory safety) and enriched in its representation of interface types, using the Dedekind-MacNeille completion technique. The computed interface information allows to remove the dynamic checks at interface method invocations. We prove the memory safety property guaranteed by the bytecode verifier using an operational semantics whose distinguishing feature is the use of un-tagged 32-bit values. For bytecode typable without sets of types we show how to prune the fix-point to obtain a stack map that can be checked without computing with sets of interfaces i.e., lightweight verification is not made more complex or costly. Experiments on three substantial test suites show that stack maps can be computed and correctly pruned by an optimized (but incomplete) pruning algorithm.
机译:轻量级字节码验证使用堆栈映射为Java字节码程序添加类型信息,以减少对类型检查的验证。本文介绍了一种改进的字节码分析器以及用于优化生成的堆栈映射的算法。使用Dedekind-MacNeille完成技术简化了分析器的基值处理(仅保留必要的信息以确保内存安全),并丰富了接口类型的表示形式。计算出的接口信息允许删除接口方法调用时的动态检查。我们使用一种操作语义来证明字节码验证程序所保证的内存安全性,该语义的区别在于使用未标记的32位值。对于没有类型集的可键入字节码,我们展示了如何修剪固定点以获得无需使用接口集即可进行计算即可检查的堆栈映射,即轻量级验证不会变得更加复杂或成本更高。在三个基本测试套件上进行的实验表明,可以通过优化(但不完整)的修剪算法来计算并正确修剪堆栈图。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号