首页> 外文期刊>Software >Polymorphic bytecode instrumentation
【24h】

Polymorphic bytecode instrumentation

机译:多态字节码检测

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

摘要

Bytecode instrumentation is a widely used technique to implement aspect weaving and dynamic analyses in virtual machines such as the Java virtual machine. Aspect weavers and other instrumentations are usually developed independently and combining them often requires significant engineering effort, if at all possible. In this article, we present polymorphic bytecode instrumentation(PBI), a simple but effective technique that allows dynamic dispatch amongst several, possibly independent instrumentations. PBI enables complete bytecode coverage, that is, any method with a bytecode representation can be instrumented. We illustrate further benefits of PBI with three case studies. First, we describe how PBI can be used to implement a comprehensive profiler of inter-procedural and intra-procedural control flow. Second, we provide an implementation of execution levels for AspectJ, which avoids infinite regression and unwanted interference between aspects. Third, we present a framework for adaptive dynamic analysis, where the analysis to be performed can be changed at runtime by the user. We assess the overhead introduced by PBI and provide thorough performance evaluations of PBI in all three case studies. We show that pure Java profilers like JP2 can, thanks to PBI, produce accurate execution profiles by covering all code, including the core Java libraries. We then demonstrate that PBI-based execution levels are much faster than control flow pointcuts to avoid interference between aspects and that their efficient integration in a practical aspect language is possible. Finally, we report that PBI enables adaptive dynamic analysis tools that are more reactive to user inputs than existing tools that rely on dynamic aspect-oriented programming with runtime weaving. These experiments position PBI as a widely applicable and practical approach for combining bytecode instrumentations. Copyright (c) 2015 John Wiley & Sons, Ltd.
机译:字节码检测是一种广泛使用的技术,用于在Java虚拟机等虚拟机中实现方面编织和动态分析。 Aspect Weaver和其他仪器通常是独立开发的,并且如果可能的话,将它们组合在一起通常需要大量的工程工作。在本文中,我们介绍了多态字节码检测工具(PBI),这是一种简单有效的技术,可以在多个可能独立的检测工具之间进行动态分配。 PBI支持完整的字节码覆盖,也就是说,可以使用任何具有字节码表示形式的方法。我们通过三个案例研究来说明PBI的进一步好处。首先,我们描述如何使用PBI来实现过程间和过程内控制流的综合分析器。其次,我们为AspectJ提供了执行级别的实现,它避免了无限回归和方面之间的不必要干扰。第三,我们提出了自适应动态分析的框架,用户可以在运行时更改要执行的分析。我们评估了PBI引入的间接费用,并在所有三个案例研究中都对PBI进行了全面的性能评估。我们证明,借助PBI,像JP2这样的纯Java分析器可以通过覆盖所有代码(包括核心Java库)来生成准确的执行配置文件。然后,我们证明了基于PBI的执行级别比控制流切入点要快得多,可以避免方面之间的干扰,并且可以将它们有效地集成到实际方面语言中。最后,我们报告说,PBI使自适应动态分析工具对用户输入的反应比依赖于面向方面的动态编程和运行时编织的现有工具更具反应性。这些实验将PBI定位为组合字节码工具的广泛适用且实用的方法。版权所有(c)2015 John Wiley&Sons,Ltd.

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号