A Survey of Reverse Engineering and Program Comprehension
read the original abstract
Reverse engineering has been a standard practice in the hardware community for some time. It has only been within the last ten years that reverse engineering, or "program comprehension", has grown into the current sub-discipline of software engineering. Traditional software engineering is primarily focused on the development and design of new software. However, most programmers work on software that other people have designed and developed. Up to 50% of a software maintainers time can be spent determining the intent of source code. The growing demand to reevaluate and reimplement legacy software systems, brought on by the proliferation of clientserver and World Wide Web technologies, has underscored the need for reverse engineering tools and techniques. This paper introduces the terminology of reverse engineering and gives some of the obstacles that make reverse engineering difficult. Although reverse engineering remains heavily dependent on the human component, a number of automated tools are presented that aid the reverse engineer.
This paper has not been read by Pith yet.
Forward citations
Cited by 1 Pith paper
-
CIAO - Code In Architecture Out - Automated Software Architecture Documentation with Large Language Models
CIAO uses LLMs to generate standards-based system-level software architecture documentation from code repositories, with a developer study showing it is generally valuable, comprehensible, and accurate.
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.