vix.ing · top · new · best · stats · spec

A Survey of Reverse Engineering and Program Comprehension

2005/03/24 by Michael L. Nelson, Nelson, Michael L. · 2 citations
Computer Science · #Advanced Malware Detection Techniques #FOS: Computer and information sciences #Software Engineering (cs.SE) #Software Engineering Research #Software Testing and Debugging Techniques #cs.SE

paper · pdf · doi:10.48550/arxiv.cs/0503068

originally released as web-only in 1996

arxiv created 2005/03/24 · openalex publication_date 2005/03/24 · arxiv updated 2009/12/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

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.

Cited by

Related