code to create a system that will not need to be reverse engineered again in the future—is
According to , there are four software development related reverse engineering
scenarios; the scenarios cover a broad spectrum of activities that include software
maintenance, reuse, re-engineering, evolution, interoperability, and testing. Fig. 2.2
summarizes the software development related reverse engineering scenarios.
Figure 2.2. Development related software reverse engineering scenarios.
The following are tasks one might perform in each of the reversing scenarios :
➢ Achieving Interoperability with Proprietary Software: Develop applications or
device drivers that interoperate (use) proprietary libraries in operating systems or
➢ Verification that Implementation Matches Design: Verify that code produced
during the forward development process matches the envisioned design by
reversing the code back into an abstract design.