面向对象逆向工程中动态模型的研究与设计

被引量 : 0次 | 上传用户:saveflv
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件规模的不断扩大和软件工程复杂程度的不断提升,人们对遗产系统的理解变得越来越困难,导致软件维护成本高、复用率低的困境。软件逆向工程的出现有效的缓解了这个局面。软件逆向工程过程是从目标系统中抽取数据,生成易于人们理解的高层抽象的过程。软件逆向工程过程原动力是对目标系统的理解,目的是为用户提供一个在代码之上的描述目标系统的抽象形式。本文为帮助用户理解目标系统,在代码层面之上提供了两种形式的抽象:UML类图和UML时序图。UML类图从目标系统源程序的静态结构方面进行了展示,而UML时序图展示了目标系统的某个侧面的动态行为模型,通过这两个方面的展示帮助用户对目标系统有比较全面的认识。本文构造静态结构模型过程可以分为词法分析、语法分析、静态关系获取和静态关系展现四个阶段。在词法分析阶段,目标系统的程序源码被依次翻译成一系列的单词单元,然后将这些单词序列输入到语法分析程序执行语法分析过程。在语法分析阶段通过分析词法分析过程生成的单词序列构造一棵语法分析树,再将语法分析树输入到静态信息获取程序获取目标系统的静态模型。最后通过静态关系展现程序将静态模型在Eclipse平台中展现出来。为适应逆向工程的需求,本文研究和设计了一棵以语句为基本单元的语法分析树。通过使用这种语法分析树可以方便的获取其中的静态信息。在动态模型构造方面,本文采用在源码中植入软触发器的方式获取动态信息。在触发器植入过程中,本文结合静态分析阶段生成的语法树,研究和设计了一种优化策略减少插入代码,从而减少对源程序的影响。在展现阶段,本文对展现过程设计了不同的粒度,避免动态行为爆炸的产生。通过使用本文设计的软件逆向工程工具,可以对生成目标系统的静态模型以UML类图的形式进行展现,用户可以方便的指定显示策略,显著增强了显示内容的可读性。本文通过设定动态模型展现粒度,也使目标系统的动态模型展现易于理解,从不同层面满足不同用户的需求。动态模型展现过程同时帮助用户更简单地理解目标系统在某个场景下的行为。
其他文献
中国电解铝工业经过十多年的高速发展,目前却陷入产能过剩的泥潭中苦苦挣扎。电解铝产能过剩的脓包已经被挤破,其影响不仅仅只局限于自身的层面,还波及到产业的上下游,乃至于
土地资源优化配置是提高节约土地利用的重要方法,分析研究了土地资源优化配置的不同角度和不同目标,并对土地资源优化配置现状进行了总结。分析研究得到目前土里利用存在不足
铅酸蓄电池是21世纪绿色能源之一,自从蓄电池被发明到其被应用到各行各业以来,研究者们就从没有放弃对其性能改进及提高方面的研究,同时,为了满足新型铅酸蓄电池对充电的要求
四川省地税系统以“金税”三期建设为契机,启动了以征管数据省级集中为目标,以推广中软公司开发的综合征管软件为核心的信息化工程。该工程在试点单位取得成功的基础上,随后
<正>今日的中国铝工业已经发生了翻天覆地的变化,谁将登上未来电解铝工业大省宝座?让市场决定国内电解铝企业命运的时刻已经来临。近日,一组数据引爆电解铝行业。"预计2014年
通过对大连足球8次夺得中国足球职业联赛桂冠的回顾,以及1999年以来成绩大幅波动的反思,认为大连足球沉浮因素包括:职业联赛体制滞后,导致俱乐部经营不利;过度依附政府,导致
在我军以“信息主导”为原则的信息化建设中,以短波和超短波电台等无线通信设备为中心的通信系统构成了核心信息交换平台。信息交换平台能否正常稳定地工作取决于底层通信设
目的:观察短煎频服银翘散治疗风温初起的临床疗效。方法:将60例风温初起的患者,按就诊顺序随机分为两组。对照组30例,服用羚羊感冒片治疗,一次4-6片,一日2次。治疗组30例,中药
随着Internet的兴起,信息化技术不断发展,信息技术在现代网络中也扮演着重要的角色,越来越多企业管理部门需要对数据进行有效的查询。如何有效快速地从大量的数据中提取所需
悬架是现代汽车上的重要总成之一,悬架的性能决定了汽车的整车性能,所以悬架系统设计和优化是汽车总体设计的一个重要组成部分。在首届中国大学生方程式汽车大赛的背景下,本