文档介绍:论文分类号单位代码
密级内部研究生学号
吉林大学
硕士学位论文
用非形式化和形式化技术对程序进行逆向工程
Using Informal and Formal Techniques for the Reverse
Engineering of VB Programs
作者姓名: 张卓鹏
专业: 计算机系统结构
导师姓名胡成全
及职称教授
论文起止年月: 年月至年月
内容提要
在程序不断演化的过程中,程序变得越来越难于理解,维护人员也
越来越难于对源代码中的改变进行推理。最后,如果对程序进行了非常
多的修改,那么就有必要用逆向工程和设计恢复技术来理解系统的当前
行为。此外,体系结构的改变和编程方法的改进(包括在软件开发中使
用形式化方法和面向对象软件技术)都促进了对程序代码进行逆向工程
和再工程的需求。同时,还有一些需求,如保持系统的现有功能和推理
修改后代码的正确性等,都可以从逆向工程中产生的形式化规约中得到
帮助。
本文说明了一种综合使用非形式化和形式化技术对 VB 程序进行逆
向工程的方法。这种方法先用非形式化技术给出对源代码的图形描述,
然后在这些图形描述的指导下,找出系统的关键过程和关键路径,并用
形式化方法对这些关键部分的语义进行说明,从而帮助维护人员和再工
程人员对程序和系统进行理解。本文用到的形式化方法是基于 Hoare 逻
辑的形式化方法,它非常适合于从源代码进行较低级别的抽象。文中定
义了 VB 程序中各种语法结构的形式化语义,并对非形式化和形式化技
术结合使用的方法给出了详细定义。这种把非形式化技术和形式化技术
结合起来使用的方法,充分发挥了两种方法的优点,提高了形式化方法
的实用性。最后,本文描述一个实验性的工具 BasicSpec,并对它的应
用进行了简要的说明。
目录
第一章前言..............................................................................................1
研究背景..........................................................................................1
本文工作..........................................................................................2
研究现状..........................................................................................3
第二章软件逆向工程..................................................................................5
逆向工程的起源..............................................................................5
正向工程与逆向工程......................................................................5
重构与软件再工程..........................................................................7
逆向工程的目标..............................................................................9
逆向工程的应用............................................................................11
第三章形式化方法....................................................................................14
概述....................................................................................