Software Architecture Recovery from Legacy Source Code
Keywords:
Software architecture recovery, legacy source code, reverse engineering, static code analysis, dependency extraction, module clustering, software modernization, maintainability.Abstract
Software architecture recovery from legacy source code is important because older systems often lack updated design documents, clear module descriptions, and reliable architectural records. Legacy applications may contain complex dependencies, duplicated logic, outdated programming structures, hidden business rules, and tightly coupled components that make maintenance and modernization difficult. Traditional documentation review may not reveal the actual implemented architecture because source code often changes over many years without matching updates in design documents. This article focuses on software architecture recovery from legacy source code by examining static code analysis, dependency extraction, module clustering, call graph analysis, data flow inspection, and architectural pattern identification. The study discusses how recovered architecture can support system understanding, impact analysis, refactoring, migration planning, and modernization decisions. The article concludes that architecture recovery provides a practical foundation for improving maintainability, reducing modernization risk, preserving business logic, and supporting long-term evolution of legacy software systems.