$Id: r4wReconnaissance.htm 869 2012-06-08 22:13:05Z nwilde $

Download RECON4

Software Reconnaissance

Software Engineers spend a lot of time trying to figure out: "Where in this program is feature X implemented?" Software Reconnaissance is an intuitive technique to help answer this question. Software Reconnaissance was the original motivation in developing the toolset and is one of its most useful applications.

Suppose you need to ask, "Where is call forwarding implemented in this telephone switch?" You would run a small set of test cases that involved forwarding a call and a second set that did not. You keep traces of program execution from each run. Software Reconnaissance then analyzes the traces to look for program components that were executed in the first set and not in the second. Common code and "background noise" are filtered leaving the code related to the feature sought.

We have used Software Reconnaissance successfully on a range of systems of up to 200 KLOC. Several technical reports on this experience can be downloaded. Reconnaissance gives you quick insight into how a program works, so it is useful on almost any task that involves existing unfamiliar code, for example:

The TraceGraph 4 tool, allows a Software Engineer to do Reconnaissance visually.

[UWF Argonaut Logo]
Email suggestions or questions to:
Norman Wilde