System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
Assessing modular structure of legacy code based on mathematical concept analysis
ICSE '97 Proceedings of the 19th international conference on Software engineering
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
Extensions to the k-Means Algorithm for Clustering Large Data Sets with Categorical Values
Data Mining and Knowledge Discovery
Extracting and Restructuring the Design of Large Systems
IEEE Software
The Orphan Adoption Problem in Architecture Maintenance
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Using Clustering Algorithms in Legacy Systems Remodularization
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
MoJo: A Distance Metric for Software Clusterings
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)
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
A Framework for Experimental Evaluation of Clustering Techniques
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
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
System partitioning and its measure
Journal of Systems and Software
International Journal of Data Mining and Bioinformatics
International Journal of Data Mining and Bioinformatics
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
Using Cluster Analysis to Improve the Design of Component Interfaces
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
An approach for architectural layer recovery
Proceedings of the 2010 ACM Symposium on Applied Computing
Applying a dynamic threshold to improve cluster detection of LSI
Science of Computer Programming
Clustering methodologies for software engineering
Advances in Software Engineering
Cooperative clustering for software modularization
Journal of Systems and Software
Hi-index | 0.00 |
Software clustering algorithms presented in the literature rarely incorporate in the clustering process dynamic information, such as the number of function invocations during runtime. Moreover, the structure of a software system is often multi-layered, while existing clustering algorithms often create flat system decompositions. This paper presents a software clustering algorithm called MULICsoft that incorporates in the clustering process both static and dynamic information. MULICsoft produces layered clusters with the core elements of each cluster assigned to the top layer. We present experimental results of applying MULICsoft to a large open-source system. Comparison with existing software clustering algorithms indicates that MULICsoft is able to produce decompositions that are close to those created by system experts.