- 软件逆向工程(software reverse engineering) : 分析软件系统,确定其构成成分及各成分间的关系,提取并生成系统抽象和设计信息的工程。
- 软件逆向工程包含数据收集、知识组织和信息浏览三项规范活动。这三者构成软件逆向工程的基本过程。 数据收集 本活动中所收集的数据是指作为学习、推理和讨论基础的实际信息。原始数据是构作和浏览高层抽象的基础,因而数据收集是软件逆向工程的一项基本活动。 知识组织 本活动中的知识是指所知内容的总和,包括数据以及从数据中导出的关系和规则。所收集的数据必须按某种数据模型保存起来,以便实现有效的存储和检索,从而帮助分析人员实现对对象及其关系的分析。 信息浏览 遍历表征目标系统信息的多维空间,按领域相关的标准分析和过滤信息,并以多种机制表达所得的信息,从而帮助分析人员进行程序理解过程中“假设一验证”的迭代过程。 软伺:逆向工程对软件测试、维护、鉴别、理解等诸多方面都有重要的辅助作用。(参见软件再工程)。(孙家骕)

