Title :
A case study of feature location in unstructured legacy Fortran code
Author :
Wilde, Norman ; Buckellew, Michelle ; Page, Henry ; Rajlich, Vaclav
Author_Institution :
Dept. of Comput. Sci., Univ. of West Florida, Pensacola, FL, USA
Abstract :
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
Keywords :
FORTRAN; computational geometry; search problems; software maintenance; tree searching; CONVERT3 program; Dependency Graph search method; FASTGEN geometric modeling suite; Software Reconnaissance technique; case study; feature location; large common blocks; legacy Fortran code; legacy Fortran programs; modern C code; program plans; software engineers; systematic exploration; tight coupling; unstructured GOTOs; unstructured legacy Fortran code; Computer aided software engineering; Computer industry; Maintenance engineering; Phase estimation; Programming profession; Reconnaissance; Search methods; Solid modeling; Switches; Testing;
Conference_Titel :
Software Maintenance and Reengineering, 2001. Fifth European Conference on
Conference_Location :
Lisbon
Print_ISBN :
0-7695-1028-0
DOI :
10.1109/.2001.914970