Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
A New Algorithm for Error-Tolerant Subgraph Isomorphism Detection
IEEE Transactions on Pattern Analysis and Machine Intelligence
Constraint-based design recovery for software reengineering: theory and experiments
Constraint-based design recovery for software reengineering: theory and experiments
IBM Systems Journal
Fast Algorithms for Mining Association Rules in Large Databases
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Assessing Architectural Complexity
CSMR '98 Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering ( CSMR'98)
Architectural Design Recovery Using Data Mining Techniques
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Component Clustering Based on Maximal Association
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
A Pattern Matching Framework for Software Architecture Recovery and Restructuring
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Using Automatic Clustering to Produce High-Level System Organizations of Source Code
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Alborz: A Query-based Tool for Software Architecture Recovery
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
A Software Evaluation Model Using Component Association Views
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Recovery of PTUIE Handling from Source Codes through Recognizing Its Probable Properties
IEEE Transactions on Knowledge and Data Engineering
Information-Theoretic Software Clustering
IEEE Transactions on Software Engineering
Model-centric software architecture reconstruction
Software—Practice & Experience
Revisiting the ΔIC approach to component recovery
Science of Computer Programming - Software analysis, evolution and re-engineering
Automated clustering to support the reflexion method
Information and Software Technology
Software Engineering
Extending the reflexion method for consolidating software variants into product lines
Software Quality Control
Journal of Software Maintenance and Evolution: Research and Practice
Hi-index | 0.00 |
This paper presents a technique for recovering the high level design of legacy software systems based on pattern matching and user defined architectural patterns. Architectural patterns are represented using a description language that is mapped to an attributed relational graph and allows to specify the legacy system components and their data and control flow interactions. Such pattern descriptions are viewed as queries that are applied against an entity-relation graph that represents information extracted from the source code of the software system. A multi-phase branch and bound search algorithm with a forward checking mechanism controls the matching process of the two graphs by which, the query is satisfied and its variables are instantiated. An association based scoring mechanism is used to rank the alternative results generated by the matching process. Experimental results of applying the technique on the Xfig system are also presented.