A comparison of methods for locating features in legacy software


Software engineers frequently need to locate the code that implements a specific feature of a program in order to fix a problem or add an enhancement. Several methods have recently been proposed to aid in feature location, notably the software reconnaissance method, which uses dynamic analysis of traces of execution, and the dependency graph method which involves static tracing of calling and data flow relationships in the programÕs dependency graph. Most studies performed so far on these methods have used relatively modern C code. However there is a large body of existing legacy software in Fortran and similar languages which is often much more poorly structured. This paper describes a case study to locate two features in a sample of poorly structured legacy Fortran code. Both methods were applied to locate the features, along with the well known ''grep'' text search method for comparison. Both the software reconnaissance and dependency graph methods located both features, although some difficulties were encountered and adaptations were needed due to the very tangled nature of the code. The ''grep'' search method worked well for one of the two features, but was ineffective for the second, more complex case.

DOI: 10.1016/S0164-1212(02)00052-3

Extracted Key Phrases

4 Figures and Tables

Showing 1-10 of 27 references

Convert3.0 UserÕs Manual. ASI Systems International

  • S L Jones, E D Aitken
  • 1994
Highly Influential
4 Excerpts

The Journal of Systems and Software

  • Wilde
  • 2003

Available from <http

  • C Recon2 – – Tool For, Programmers
  • 2001

Available from <http://xsuds.argreenhouse.com/>

  • 2001
Showing 1-10 of 40 extracted citations


Citations per Year

74 Citations

Semantic Scholar estimates that this publication has received between 43 and 129 citations based on the available data.

See our FAQ for additional information.