Semantic clustering: Identifying topics in source code
Information and Software Technology
Coupling Patterns in the Effective Reuse of Open Source Software
FLOSS '07 Proceedings of the First International Workshop on Emerging Trends in FLOSS Research and Development
Identifying and Improving Reusability Based on Coupling Patterns
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Science of Computer Programming
Package Fingerprints: A visual summary of package interface usage
Information and Software Technology
Clustering methodologies for software engineering
Advances in Software Engineering
oZone: Layer identification in the presence of cyclic dependencies
Science of Computer Programming
Evolutionary and collaborative software architecture recovery with Softwarenaut
Science of Computer Programming
Hi-index | 0.00 |
Recovering the architecture is the first step towards reengineering a software system. Many reverse engineering tools use top-down exploration as a way of providing a visual and interactive process for architecture recovery. During the exploration process, the user navigates through various views on the system by choosing from several exploration operations. Although some sequences of these operations lead to views which, from the architectural point of view, are mode relevant than others, current tools do not provide a way of predicting which exploration paths are worth taking and which are not. In this article we propose a set of package patterns which are used for augmenting the exploration process with information about the worthiness of the various exploration paths. The patterns are defined based on the internal package structure and on the relationships between the package and the other packages in the system. To validate our approach, we verify the relevance of the proposed patterns for real-world systems by analyzing their frequency of occurrence in six open-source software projects.