During the last three decades, a considerable amount of software has been developed based on obsolete technologies (such as using procedural languages). This type of systems has undergone severe code revisions during a long time period. As a consequence, the high level of entropy combined with imprecise documentation about the design and architecture make the maintenance more difficult, time consuming, and costly. On the other hand, these systems have important economical value; many of them are crucial to their owners (Bennett, 1995). For the high cost of lost former investment and business knowledge that embedded in those systems, in many cases, simply abandon legacy systems and re-develop new systems based on new technology is not the choice. Migrating legacy system toward new emerging technology is an appropriate solution. However, migrating legacy system towards new technology is a complex system engineering work. In this paper, we propose a novel approach to reduce the migration complexity. We apply dynamic program analysis, software visualization, knowledge recovery, and divide-and-conquer techniques to cope with the complexity issue in legacy software migration project.
Date of creation, presentation, or exhibit
Department, Program, or Center
Software Engineering (GCCIS)
Wu, Lei; Sahraoui, Houari; and Valtchev, Petko, "Coping with legacy system migration complexity" (2005). Accessed from
RIT – Main Campus