Information-Theoretic Software Clustering
IEEE Transactions on Software Engineering
Search-based improvement of subsystem decompositions
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
Separating architectural concerns to ease program understanding
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
Reengineering standalone C++ legacy systems into the J2EE partition distributed environment
Proceedings of the 28th international conference on Software engineering
Revisiting the ΔIC approach to component recovery
Science of Computer Programming - Software analysis, evolution and re-engineering
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Automated clustering to support the reflexion method
Information and Software Technology
Software Engineering
Combining clustering and pattern detection for the reengineering of component-based software systems
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
Software packaging approaches: a comparison framework
ECSA'11 Proceedings of the 5th European conference on Software architecture
Improving system understanding via interactive, tailorable, source code analysis
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Clustering methodologies for software engineering
Advances in Software Engineering
Hi-index | 0.00 |
The recovery of software architecture is a first importantstep towards re-engineering a software system. Architecturerecovery usually involves clustering. The problemwith current clustering techniques is that they decide exclusivelybased on syntactic dependencies instead of lookingat higher-level semantic information. As a result, the recoveredarchitecture is not always meaningful to a humansoftware engineer.In this paper, we propose an approach that combinesclustering with pattern-matching techniques to recovermeaningful decompositions. Pattern-matching is used toidentify architectural clues - small structural patterns thatprovide semantic information to allow for a rating of the dependenciesfound between a system's entities. These cluesare used to compute an adaptive inter-class similarity measurewhich is then used by a clustering algorithm to producethe final system decomposition.