Reverse Engineering
Software Reverse Engineering
|
|
Within the overall process of software evolution or software maintenance falls the specific task of understanding the existing system. This is non-trivial; estimates are that up to 50% of the software maintenance task consists of program comprehension. This is due to many factors, not the least of which is the `cardinal, fundamental law of programming':
-
It's harder to read code than to write it.
Reverse engineering, or program comprehension, is the focus of a number of professional organizations and academic research groups. The following internet resources provide a range of related information, ranging from introductory tutorials to publication of the latest research.
- Tutorials
-
On-line introductions to the terminology and techniques of understanding existing software include:
- Bibliographies
-
There's a large body of published materials covering the research and practice of reverse engineering. A list of these writings is available at:
- Academic and Government Sites
-
There are a number of academic and government groups which are focused on legacy code and reverse engineering:
- Organizations
-
- Conferences
-
As some conferences hope to return to in-person formats in 2022, we send our best wishes for health and safety to all during the pandemic.
- Related Subjects
-
Reverse engineering of software has multiple meanings. The focus of this page, and Imagix Corporation, is on reverse engineering as a way to improve understanding of source code; a taxonomy is available to place this within the context of forward engineering and reengineering. For the alternative meaning of reverse engineering, involving executable binaries, a starting point for a web search can be found at the Decompilation Wiki.
|
Reverse engineering and source
code analysis - related sites