摘要
随着软件系统的日益复杂,软件开发、维护以及进化的大部分工作和主要成本集中在对现有系统的理解上。逆向工程以支持程序理解为目标,通过分析目标系统,产生系统不同形式和不同层次的抽象表示,帮助用户从多个层面和角度理解目标系统。为了开发一种实用的逆向工程工具,文中在深入分析了反射、开放编译、植入等技术的基础上,提出了一种基于反射植入的面向对象程序动态分析机制,其主要思想是通过反射植入软件触发器获取目标系统的动态信息,这些信息由信息收集机制收集整理并保存到Call-Graph,最后从Call-Graph抽象出符合UML标准的动态模型图。通过项目实践发现,这种机制是可行的。
For the complexity of software system, the main works of software development, maintenance and evolution have been focused on the comprehension of existing systems. The goal of reverse engineering is to support program comprehension. By analyzing target system, it generates abstract representations in different form and level and helps users understand target system at different levels and from different perspectives. On the basis of profound analyses of reflection technique, open compiler and instrument technique, a dynamic analysis mechanism for object-oriented program based on reflection instrumentation is provided in this paper for developing an applied dynamic analysis tool. The main idea is that dynamic information is gathered by triggers instrumented and saved to Call-Graph, and then abstracts dynamic model in accord with UML specifications from Call-Graph. The feasibility of the mechanism is verified by the project.
出处
《微机发展》
2005年第5期11-13,17,共4页
Microcomputer Development
基金
国家"十五"军事电子预研重点项目资助(413060601.x)
关键词
反射
植入
逆向工程
动态分析
reflection
instrumentation
reverse engineering
dynamic analysis