Software reverse engineering: A case study
- 1 December 1991
- journal article
- research article
- Published by Wiley in Software: Practice and Experience
- Vol. 21 (12) , 1349-1364
- https://doi.org/10.1002/spe.4380211206
Abstract
This paper presents lessons learned from an experiment to reverse engineer a program. A reverse engineering process was used as part of a project to develop an Ada implementation of a Fortran program and upgrade the existing documentation. To accomplish this, design information was extracted from the Fortran source code and entered into a software development environment. The extracted design information was used to implement a new version of the program written in Ada. This experiment revealed issues about recovering design information, such as, separating design details from implementation details, dealing with incomplete or erroneous information, traceability of information between implementation and recovered design, and re‐engineering. The reverse engineering process used to recover the design, and the experience gained during the study are reported.Keywords
This publication has 10 references indexed in Scilit:
- A reverse engineering methodology to reconstruct hierarchical data flow diagrams for software maintenancePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Data reengineering for application systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- The C information abstraction systemIEEE Transactions on Software Engineering, 1990
- TuringTool: a user interface to aid in the software maintenance taskIEEE Transactions on Software Engineering, 1990
- Reverse engineering and design recovery: a taxonomyIEEE Software, 1990
- Extracting and restructuring the design of large systemsIEEE Software, 1990
- Design recovery for maintenance and reuseComputer, 1989
- Program translation via abstraction and reimplementationIEEE Transactions on Software Engineering, 1988
- Using Modem Design Practices to Upgrade Aging Software SystemsIEEE Software, 1986
- Software Renewal: A case StudyIEEE Software, 1984