摘要
动态分析是理解面向对象软件系统的主要手段 ,通过植入 ,才能准确提取系统运行时的信息。常见植入方法中 ,植入代码和目标代码处于同一计算层次 ,植入过程会影响目标代码运行的准确性和效率。基于反射原理 ,采用开放编译技术 ,通过将植入的软件触发器和被植入的目标系统作为两个计算层次来干预编译过程 ,从而达到软件植入的目的。引入了对象触发器 ,利用对象生命周期控制机制获取有用的动态信息 ,并详细描述了植入核心算法 ,利用OpenC ++实现了该植入机制。
Dynamic analysis of an object oriented system is critical for a user to comprehend such a system. Instrumentation is the main approach to extracting run time information of software system. Traditionally, the instrumented codes stand at the same level with source codes. This paper refers to software trigger and application system at two different levels by using the reflection principle and open compile techniques. A special object is used as the software trigger to collect important and useful information in run time scenario for its life cycle controlling process and the algorithm of reflection instrumentation is described in detail. Next, the instrumental mechanism for C++ is implemented by the Open C++, which is a typical open compiler. Finally, a test example is given to show the principle and effectiveness of our instrumentation approach.\;
出处
《系统工程与电子技术》
EI
CSCD
北大核心
2003年第7期851-855,共5页
Systems Engineering and Electronics
基金
"十五"军事电子预研重点项目资助课题 ( 4 13 0 60 60 1)
关键词
程序理解
动态分析
软件植入
反射
开放编译
C++
Program comprehension
Dynamic analysis
Software instrumentation
Reflection
Open compile
C+