现在的位置: 首页 > 综合 > 正文

软件逆向工程的定义

2013年06月30日 ⁄ 综合 ⁄ 共 954字 ⁄ 字号 评论关闭

在研究软件架构中,有一种技术叫做逆向工程。

一直找不到比较好的关于逆向工程的定义。

偶尔看到一句关于逆向工程的定义,感觉还不错,就记下来与大家分享。

 

The process of extracting high-level models from the source code is often referred to as reverse engineering.

 

The discipline of reverse engineering has two main areas :

1.Technical approaches: These extraction approaches derive information about a system based on existing artifacts. In particular, source code, comments, user documentation, executable modules, and system descriptions are often extracted.

 

2.Human knowledge and inference: These approaches focus on how humans understand software.

 

 Typically, human investigators use the following strategies:

1)Top-down strategies: start at the highest level of abstraction and recursively fill in understanding of the sub-parts.

2)Bottom-up strategies: understand the lowest level components and how these work together to accomplish the system’s goals .

3)Model-based strategies: understand the mental model of how the system works and tries to deepen the understanding of selected areas .

4)Opportunistic strategies: use some combination of the above approaches.

 

抱歉!评论已关闭.