VSERC Software Reconnaissance - Overview
Norman Wilde, Sharon Simmons, Dennis Edwards - University of West Florida

SOFTWARE ENGINEERS spend a lot of time trying to figure out: "Where in this program is feature X implemented?" Software Reconnaissance is a simple new technique to help answer this question. It has been developed with the support of the Software Engineering Research Center and the Air Force Office of Scientific Research.

How does it work? 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.

Does it work? We have used it successfully on a range of systems of up to 250 KLOC. Several papers have been published and are available in hard copy. Several technical reports on this experience can be downloaded.

What are the benefits? Your company's software is valuable to you only if you can understand and modify it. With understanding you can fix problems, add valuable features, integrate with other systems, create reusable components, etc. Reconnaissance gives you quick insight into how a program works, so it is useful on almost any such task.

Reconnaissance helps understand code; understanding gives you the power to leverage your code and make more money!

What will I need to try it? Every system is different, but you will probably want some sort of tool to instrument your system so you can trace which components are executed. Some alternatives:

Can UWF help? We have experience trying Reconnaissance on quite a range of systems and we are delighted to help. Assistance is free by email, by phone or in person anywhere near Pensacola, Florida.

What do I do if I am interested? Get in touch with Norman Wilde, University of West Florida, email: . Also, try out our online demo of Recon3 and its TraceGraph tool at

http://www.cs.uwf.edu/~recon/recon3/r3wDemo.htm


(This page last modified April, 2008. Please send any comments or suggestions to Norman Wilde.)