A unified framework for expressing software subsystem classification techniques
Journal of Systems and Software
Visualizing dynamic software system information through high-level models
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Recovering software architecture from the names of source files
Journal of Software Maintenance: Research and Practice
The concept of dynamic analysis
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Decomposing legacy programs: a first step towards migrating to client-server platforms
Journal of Systems and Software - Special issue on software maintenance
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
A Concept Formation Based Approach to Object Identification in Procedural Code
Automated Software Engineering
Legacy Systems: Coping with Success
IEEE Software
Legacy Integration-Changing Perspectives
IEEE Software
A Framework for Source Code Search Using Program Patterns
IEEE Transactions on Software Engineering
Cliche Recognition in Legacy Software: A Scalable, Knowledge-Based Approach
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Using Visualization for Architectural Localization and Extraction
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Exploring Legacy Systems Using Types
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Types and Concept Analysis for Legacy Systems
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Using Dynamic Information for the Iterative Recovery of Collaborations and Roles
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Execution patterns in object-oriented visualization
COOTS'98 Proceedings of the 4th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 4
Hi-index | 0.01 |
Software functionalities and behavior are accomplished by the cooperation of code artifacts. The understanding of this type of source code collaboration provides an important aid to the maintenance and evolution of legacy systems. Normally, legacy systems were developed decades ago using early programming languages such as Cobol, Fortran or C etc., and a huge number of such systems are still in use. Coyle et. al estimate that only the systems written in Cobol have been account for more than 100 billion LOC. Moreover, a large amount of domain business knowledge has been coded in legacy software. After many years of maintenance, the quality of operation and maintainability has deteriorated dramatically due to many reasons, such as lack of up-to-date documents, lost of key personnel, shift of technology of inter-operating peripheral systems etc. The extraction of code artifact collaborations and their roles is therefore an important support in legacy software comprehension and design recovery. However, the original collaboration design information is dispersed at the implementation level. In this paper, we present a novel approach to efficiently recover and analyze code collaborations and roles based on dynamic program analysis technique. We also illustrate the tools that we have developed to support our approach and illustrate the viability of our approach in a case study.