计算机科学 ›› 2011, Vol. 38 ›› Issue (7): 139-143.

• 软件工程 • 上一篇    下一篇

一个基于Eclipse的通用Java程序插桩工具

郑晓梅   

  1. (南京中医药大学信息技术学院 南京210046);(南京大学计算机软件新技术国家重点实验室 南京210093)
  • 出版日期:2018-11-16 发布日期:2018-11-16
  • 基金资助:
    本文受863国家高技术研究发展计划(2009AA010302),国家自然科学基金(60425204),江苏省自然科学基金(BK2009714),江苏省高校自然科学基金(07kJB10002)资助。

General Java Program Instrumentation Tool Based on Eclipse

ZHENG Xiao-mei   

  • Online:2018-11-16 Published:2018-11-16

摘要: 插桩技术作为一种有效理解程序动态行为的手段,已经被广泛应用于程序分析、测试和验证中。然而,由于缺少通用的插桩工具,各种具体的应用往往需要从头开发特定的插桩程序,存在着大量的重复性工作。此外,由于在原始程序中插入了大量额外代码,致使调试过程变得更加复杂和困难。针对这些问题,提出了一个基于Eclipse的通用Java代码插桩工具,即通过规则定义匹配程序的执行点,从而定制针对各种分析、测试和验证插桩需求的支持。通过对插桩代码片段的显式/隐式切换实现其可见性管理,从而确保程序的理解和调试过程不受插桩代码影响。通过使用该工具,可以更好地将插桩技术应用于Java程序开发中。

关键词: 程序插桩,Java, Eclipse插件

Abstract: Program instrumentation technique has been widely used in program analysis, testing and verification as an effective method for understanding the dynamic information of programs. However, for the absence of general instrumentation tools, different applications need to recreate the specific tool meeting their requirements, hence wasting time and energy. In addition, the debugging processes become more and more complicated because of the instrumented code inside the original program. To solve such problems, the paper presented a general instrumentation tool based on Eclipse for Java program. By defining the rules to match the execute points of program, a specific instrumentation tool could be customized to meet the different requirements of Java program analysis, testing and verification. By switching between visibility and nonvisibility of the instrumented code, users of our tool can't be disturbed by the planted fragments in comprehending and debugging java program. We believe that through utilizing our tool, the program instrumentation technique can be better applied in the Java program development.

Key words: Program instrumentation, Java, Eclipse plugin

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!