A case study of feature location in unstructured legacy Fortran code

Norman Wilde, M. Buckellew, H. Page, Václav Rajlich · 2003

Feature location is a major problem in supporting legacy code. Two methods, the Software Reconnaissance technique and the Dependency Graph search method, have been proposed to help software engineers locate features in a program that needs to be modified. Both methods have been developed and evaluated largely using relatively modern C code. The article describes preliminary experiences in adapting them to legacy Fortran code, typical of systems developed in the 1970s. A case study was performed to apply the two methods to the CONVERT3 program, which is part of the FASTGEN geometric modeling suite. CONVERT3 exhibits many characteristics typical of legacy Fortran programs such as poor modularity, prolific use of unstructured GOTOs, tight coupling through large common blocks, and confusing program plans introduced to provide efficiency on now-obsolete platforms. Both methods were effective in locating features in CONVERT3. The Dependency Graph search method required considerable adaptation to be useful on this kind of program and required the systematic exploration of a large amount of code. The Software Reconnaissance technique was able to locate features with less searching but, as compared to earlier experience with C, the Fortran code proved more difficult to understand once it had been located.

Read the paper · More papers on PaperTik