Chapter 1

Reverse-Engineering Software Behavior

Neil Walkinshaw,      Department of Computer Science, The University of Leicester, Leicester, UK


Software systems are large and intricate, often constituting hundreds of components, where the source code may or may not be available. Fully understanding the runtime behavior of such a system is a daunting task. Over the past four decades, a range of semi-automated reverse-engineering techniques have been devised to fulfill (or assist with the fulfillment) of this goal. This chapter provides a broad overview of these techniques, incorporating elements of source code analysis, trace analysis, and model inference.


Reverse engineering; Software analysis; Source code; Software modeling; ...

Get Advances in Computers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.