Program understanding and the concept assignment problem
Communications of the ACM
Identifying Modules via Concept Analysis
IEEE Transactions on Software Engineering
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
Object Design: Roles, Responsibilities, and Collaborations
Object Design: Roles, Responsibilities, and Collaborations
Software Architecture in Practice
Software Architecture in Practice
Using Clustering Algorithms in Legacy Systems Remodularization
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Experiments with Clustering as a Software Remodularization Method
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
ACDC: An Algorithm for Comprehension-Driven Clustering
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Towards a Framework for Program Understanding
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Compression Techniques to Simplify the Analysis of Large Execution Traces
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
Scaling an Object-Oriented System Execution Visualizer through Sampling
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis
IEEE Transactions on Software Engineering
Code Extraction Algorithms which Unify Slicing and Concept Assignment
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Software Clustering based on Information Loss Minimization
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Semantic Driven Program Analysis
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Information-Theoretic Software Clustering
IEEE Transactions on Software Engineering
Software Clustering Based on Dynamic Dependencies
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
Using trace sampling techniques to identify dynamic clusters of classes
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
Proceedings of the 2nd India software engineering conference
A model of large program development
IBM Systems Journal
Hi-index | 0.00 |
One of the main motivations for the reverse engineering of software programs is to help with software comprehension. Although several techniques have been presented in the literature to reverse-architect software, the corresponding views usually do not help much. In fact, most of the published techniques recover the architecture of the software by focusing on the abstract properties of the components such as coupling and coherence. We claim that the recovered components should rather represent abstract functional entities whose behavior could be understood independently from the others. Then, an abstract view of the system would represent the interactions between such functional entities. In this paper we present a technique and a tool able to generate abstract sequence diagrams to represent the global working of legacy programs. This shows the main interactions between abstract functional components. When comparing the automatically generated sequence diagrams to the one a developer would produce by hand, we realized that the representation were very close. Our work could then be considered as a first step to the automatic generation of human-understandable abstract views of the working of legacy programs.