Abstract
Software architecture plays an important role in software development, especially in software quality and maintenance. Understanding the impact of certain architectural patterns on software quality and verification of software requirements has become increasingly difficult with the increasing complexity of codebases in recent years. Researchers over the years have proposed automated approaches based on machine learning. However, there is a lack of benchmark datasets and more accurate machine learning (ML) approaches. This paper presents an ML-based approach for software architecture detection, namely, MVP (Model–View–Presenter) and MVVM (Model–View–ViewModel). Firstly, we present a labeled dataset that consists of 5973 data points retrieved from GitHub. Nine ML methods are applied for detection of software architecture from source code metrics. Using precision, recall, accuracy, and F1 score, the outstanding ML model performance is 83%, 83%, 83%, and 83%, respectively. The ML model’s performance is validated using k-fold validation (k = 5). Our approach outperforms when compared with the state-of-the-art.
Subject
Computer Networks and Communications,Human-Computer Interaction
Reference54 articles.
1. Documenting software architectures: Views and beyond;Garlan;Proceedings of the 25th International Conference on Software Engineering,2003
2. Software architecture design: evaluation and transformation
3. Pattern-Oriented Software Architecture, on Patterns and Pattern Languages;Buschmann,2007
4. Characteristics of Higher Level Languages for Software Architecture;Shaw,1994
5. Just Enough Software Architecture: A Risk-Driven Approach;Fairbanks,2010
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献