Architecture Patterns Clustering using a Machine Learning Approach - Esra Alzaghoul, Fawaz Ahmad Alzaghoul, Omar Al Huniti, Khawla Al-Tarawneh (International Journal of Intelligent Systems and Applications in Engineering, 2024)
Architecture patterns are frequently employed in software development to address prevalent design challenges. The identification and classification of architecture patterns have become crucial in optimizing the design process due to the increasing complexity of software systems. Clustering has emerged as a widely adopted technique to categorize comparable entities. Recently, machine learning algorithms have been employed to automate and enhance the precision of clustering. This study proposed using k-means clustering to group the architectural patterns like repository, client-server, broker, microkernel, publisher-subscriber, model view controller, REST, and space-based patterns together. That was done on one of the benchmark dataset (Architectural Patterns dataset ) by using different Ks to perform the clustering, demonstrating the connections between architecture patterns. Then extract the related patterns and propose valid splitting for some patterns.