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. 2002 Elsevier Science Inc. All rights reserved.

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

Extracted Key Phrases

4 Figures and Tables


Citations per Year

79 Citations

Semantic Scholar estimates that this publication has 79 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@article{Wilde2003ACO, title={A comparison of methods for locating features in legacy software}, author={Norman Wilde and Michelle Buckellew and Henry Page and V{\'a}clav Rajlich and LaTreva Pounds}, journal={Journal of Systems and Software}, year={2003}, volume={65}, pages={105-114} }