用形式化技术对JAVA程序进行逆向工程

来源 :吉林大学 | 被引量 : 0次 | 上传用户:laoxu111
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在程序不断演化的过程中,变得越来越难于理解,软件的维护也成为软件工程师的难题.最后,如果对程度进行了非常多的改变,那么就有必要用逆向工程和设计恢复技术来理解系统的当前行为.对程序代码的逆向工程是建立关于系统的更高级抽象的过程,以便能够更好的理解那些遗产系统或者处于老年状态的系统.体系结构的改变和编程方法的改进(包括在软件开发中使用形式化方法和面向对象编程技术)都促进了对程序代码进行逆向工程和再工程的需求.同时,还有一些需求,像保持现有系统的功能和推理修改后代码的正确性等需求,都可以从通过逆向工程产生的形式化规约中得到帮助.该文提出了一种对Java程序在较低级别上进行逆向工程的方法.这个方法先用前端程序对源代码进行词法分析,给出抽象语法树,从中找出系统的关键方法,并用形式化方法对这些关键部分的语义进行说明,从而帮助维护人员和再工程人员对程序和系统进行理解.该文用到的形式化方法是基于Hoare逻辑的,采用最强后件谓词转换技术及Hoare理论中的部分正确性语义.最后,该文描述一个实验性的工具JavaSpec,并对它的应用进行了简单的介绍.
其他文献
近年来,随着技术的进步,人们对视频的需求越来越高,而传统的视频编解码是先采样后压缩,同时奈奎斯特采样定理规定,为了使得重构信息不失真,必须满足采样频率不小于基带信号带宽两倍
21世纪是一个信息时代,互联网的广泛普及和信息技术的飞速发展在为人们带来方便与快捷的同时,也造成了信息的爆炸式增长,大量杂乱无章的内容充斥着整个互联网,为企业和用户造成了
空间数据挖掘的定义是从空间数据库中抽取令人感兴趣的、隐含的、潜在有用的知识和空间关系,以及空间数据库中没有明确存储的模式.空间数据挖掘能够从大型数据库中抽取有用并
该文以主要处理CT图像的CTIPS系统为例,详细介绍了如何基于DICOM标准实现DICOM图像的采集;研究了图像数据库和空间数据库的特点,挖掘两者之间的联系与区别,将图像数据库和空
该文开发了一个相对独立的手工雕刻辅助设计系统,可以帮助雕刻设计师完成制版前的平面设计工作,很好地解决了目前手工雕刻过程中现存的问题.其方法就是设计一种新的粗细变化
该文对视频检索中三个方面进行了讨论,即特征提取,镜头相似性检索和视频片段相似性检索.第二章讨论了静态特征和动态特征在视频检索中的应用.特征提取是基于内容检索的基础,
该文在介绍了XLM的由来、发展和XML的技术以及相关的技术族的基础上,重点研究了如何解决政府采购信息系统在实际应用中的关键问题,如:数据的共享和互通、如何支持政府采购业
金山卫深槽(简称金山深槽)位于杭州湾北部上海市金山区前沿海域地区,对该地区的经济发展,防汛防台工作有极大的影响,长期以来对金山深槽的研究分析一直得到金山区政府及中国
教务管理工作在高校管理工作中占有重要地位,为了提高教务管理工作的质量和效益,建立一个现代化、信息化、网络化的教务管理信息系统是非常必要的.该文主要讨论了一个基于网
随着互联网的普及,网络安全成为关系国计民生的重大问题.各种网络安全技术如入侵检测、防火墙、防病毒、安全审计等得到了广泛的应用.这些安全技术在不断发展的同时,也存在着