康剑
摘要:本文目标提出一个在反向工程领域中的商业智慧概念及其恢复方法。我们发现在用反向工程技术分析已有程序时,反向技术本身缺乏一种主动理解程序的智慧,进而不能够运用这种智慧实现更好的进行程序理解。我们将这种智慧称之为商业智能,我们希望通过所提出商业智能恢复方法,使反向技术具备主动恢复商业智慧的能力,从而帮助反向工程技术更好的理解程序本身。
关键词:程序理解;反向工程;商业智能
中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2017)05-0244-01
1 简介
反向工程技术是用以理解程序的重要方法,反向技术期望抽取程序中的有用要素信息,并用这些要素信息进一步建立程序的抽象结构,借此进一步描绘出软件设计的原型。这些要素信息包括:项目、组件、模块、架构、特性、需求等等。然而,当前反向技术停滞在代码理解阶段,比如:系统分解技术、程序分解技术、程序转换技术、程序抽取技术等,这些技术目前,仍然不能达到软件特性理解和软件需求理解的高度。
2 介绍现有的商业智能恢复方法
2.1 程序抽取方法
程序抽取方法是常见的基于数据流分析的方法,且已成为多种程序理解工具的基础功能。程序当中特别的字段,以及特别变量都可以在数据流的节点上得以体现。比如,当你希望查找到某个程序中存在的语法错误时,你不需要等待整个程序运行完毕,你会选择截取整个完整程序中某单独一段程序加以执行,即可有效寻找这段程序中存在的语法问题。……