Quantifying software maintainability on re-engineered translation of FORTRAN to C++ code
Tomlinson, Zane Grey Jr.
MetadataShow full item record
Due to the expanding existence of old software, legacy systems, and obsolete platforms with many industries, software re-engineering has become a widespread methodology that assists engineers and software practitioners with translating inflexible, unsupportable legacy software into maintainable software. Many companies today are investing in a variety of re-engineering techniques such as translation of source code to new code structures and target platforms to ensure future software maintenance can be performed in an efficient and effective manner. With sound re-engineering principles, the application of these techniques leverage the knowledge and previous engineering endeavors to mitigate risks and provide adequate performance to ensure that code attributes retain the functionality of the legacy systems while improving software quality. In this thesis, an evaluation will be made: What effect does the re-engineering legacy system software have on quality characteristics, with respect to maintainability? The research focuses on determining if a re-engineered methodology of translating FORTRAN to C++ resulting code using an in-house developed translator, can truly re-engineer legacy procedural source code into maintainable object-oriented source code. Based on the metric data and analysis, key measurement results of the empirical data will interpret the translated code to ascertain whether it accurately reflects factors that influence software quality and maintainability. By addressing maintainability and using a set of metrics tailored to assess the criteria, a determination will be made based on the empirical evidence to support the alternative hypothesis that the re-engineered translation of FORTRAN to C++ source code has produced maintainable software. A high-level set of characteristics evaluated in this research include measures quantifying class-related software quality attributes of analyzability, changeability, stability and testability, which include a number of metrics attributes as size, structure, complexity, cohesion and coupling, with emphasis placed on areas of object-oriented characteristics. The results of this thesis indicate that the re-engineered effort to translate FORTRAN to C++ source code did exhibit maintainable characteristics on the basis that a majority of the metrics examined correlated with high "Maintainability" standards. It is therefore recommended that based on this interpretation of data, opportunities to use the translator in the future for re-engineering efforts should be retained and implemented.