Anam Sahoo

Graduation Semester and Year




Document Type


Degree Name

Doctor of Philosophy in Computer Science


Computer Science and Engineering

First Advisor

David Kung


Software maintenance typically consumes an average of 60\% of software life costs, of which more than 60\% are spent on enhancements. These are a challenge for the software community, in which hundreds of millions of lines of legacy code need to be modified during enhancement maintenance. Unfortunately, our extensive literature survey and industrial experiences show that there is a lack of a systematic methodology for software reengineering and for enhancement. As a consequence, software engineers use ad hoc approaches to enhance a legacy system. This dissertation presents an agile process, called the N-model process and methodology, for enhancing object-oriented legacy systems. The process consists of a release planning phase to quickly identify release changes, followed by an iterative enhancement phase to implement the changes, and finally a formal system validation phase to ensure that the changes are properly incorporated. The methodology details the steps to perform these phases. This thesis has defined a set of three categories of ten metrics for evaluating an enhancement methodology, and applied them to evaluate our N-model methodology in comparison with ad hoc approaches for enhancing and evolving legacy systems. Although the experiment is limited in scope, it shows that the N-model methodology significantly outperforms ad hoc approaches.


Software maintenance, Object-oriented software, Legacy system, Software re-engineering, Reverse engineering, Software process and methodology, Agile method


Computer Sciences | Physical Sciences and Mathematics


Degree granted by The University of Texas at Arlington