Reverse engineering
and program
understanding
- related sites

Reverse Engineering

Imagix Corp

  

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 understanding. 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. Lists of these writings include:

Academic and Government Sites
There are a number of academic and government groups which are focused on legacy code and reverse engineering:

Organizations

Conferences
For those willing to put up with the rigors of travels to locations such as Florida and Hawaii, for the sake of a suntan enlarging and sharing their knowledge, there are number of related conferences:
  • ICPC - International Conference on Program Comprehension
    • ICPC 2008 (16th) Amsterdam, The Netherlands June 10-13, 2008
  • WCRE - Working Conference on Reverse Engineering
    • WCRE 2007 (14th) Vancouver, CA Oct 28-31, 2007

Related Subjects
Reverse engineering of software has dual meanings. The focus of this page, and Imagix Corporation, is on reverse engineering as a way to improve understanding of source code. For the alternative meaning of reverse engineering, involving executable binaries, a starting point for a web search can be found at the Decompilation Wiki.

Home
About Imagix
Products
Support
Downloads
Related Sites
Reverse Eng
Sw Evolution
C / C++ Lang