形式化技术在逆向工程中的应用研究

来源 :长沙理工大学 | 被引量 : 2次 | 上传用户:mqshi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的飞速发展,产生了越来越多的遗产系统,对这些系统进行维护和升级是软件工程师们经常要面对的问题。要对遗产系统进行维护和再工程,就需要用逆向工程技术对当前系统的结构和行为进行理解。作为软件工程中的一种新技术,逆向工程能够分析目标系统,确定系统的组件和它们之间的相互关系,并以另一种形式或者在更高的抽象级别上建立对系统的表示,从而帮助维护人员理解并重构软件系统。形式化方法对于软件的发展,尤其是正向工程方面提供了许多好处。形式化方法的一个优点是它的表示是精确的、可验证的,这样有助于使用自动化的处理。一种利用形式化方法优点的方式就是通过对现有程序代码进行逆向工程来得到形式化规约。本文描述的逆向工程中的形式化方法采用最强后置条件谓词转换技术和Hoare理论中有关程序语义的部分正确性模型,研究的重点是利用形式化技术和非形式化技术对程序代码进行逆向工程,以支持软件理解和维护。针对C程序的基本语法结构定义了赋值语句规则、选择语句规则、循环语句规则、顺序语句规则和函数调用规则,建立了一个最小的公理系统。介绍了以C-Minus语言(自定义的一种简化的C语言子集)为实例进行逆向工程的过程。在进行逆向分析的过程中,首先对源程序进行词法语法分析生成语法树,从结构化源程序中提取源程序的模板信息,并把模板信息用一个二叉树表示,之后按照设计的二叉树遍历算法,把二叉树转化为P A D(Problem Analysis Diagram)图,用以描述程序的结构,并作为可视化的人工理解辅助工具,便于我们从中方便的选出源代码的关键部分。在结构化分析的基础上,对关键性的源代码文件进行扫描,对每条语句进行分析,根据C程序语句中各种基本结构的最强后置条件形式化语义,对每条语句按照相应的规则进行转换,得到程序的形式规约。
其他文献
<正>本院是一所综合性的三级甲等医院,于2012年1月新开了1个700张床位的院区,本神经内科实际开放床位40张,其中包括5张重症监护病床,配备护士18人,以新调入为主,专科护理知识
<正>使用仿制药的前提是仿制药经过与原研品牌药相同的严格的各项测试后证明能与原研药品牌药产生相同的疗效和安全性。可事实是这样吗?除了原研药和仿制药在药效方面的差异,
随着开放分布式计算的快速发展,中间件技术已经从面向对象计算的阶段发展到了面向服务计算(Service-Oriented Computing)的阶段。SOC更加靠近应用层的业务逻辑,具有敏捷性、动
目前我国的会计管理现状令人堪忧 ,存在的问题较多 ,如会计信息失真、会计秩序混乱、会计人员管理弱化等 ,针对这些问题 ,应实行会计规范管理社会化、会计人员管理社会化和会
<正>压疮的防护一直是困扰临床医务人员的难题,它不仅增加患者的痛苦和经济负担,造成医疗资源的浪费,而且影响疾病的健康恢复。本文从压疮的病因、评估、预防、治疗、及护理
随着微电子技术和计算机技术的不断发展,系统时钟频率的日益提高和信号边沿的不断缩短,信号完整性问题变得日益突出,电路设计中需要对大量复杂的、多条件的网络进行分析,仿真
泥石流是一种暴发突然,危害十分严重的地质灾害。它的发生有自然的因素,也有人为的因素。近些年来,泥石流的发生和人类活动密切相关,特别是人们对山区的开发,对自然资源的开采诱发
目的比较第4代EMS气压弹道联合超声碎石清石系统与钬激光在经皮肾镜术中治疗肾结石的疗效和安全性。方法回顾性分析2011年1月—2012年5月在本院行经皮肾镜手术治疗肾结石的60
目的采用时间护理减少妇科腹腔镜患者术后疼痛,提高患者的满意度。方法将100例妇科腹腔镜患者随机分为观察组和对照组,对照组采用常规护理,观察组采用时间护理,比较2组的护理