Abstract

Mobile applications are one of the most used pieces of software nowadays, as they continue to expand, the architecture of those software systems becomes more important. In the fast-paced domain of the mobile world, the applications need to be developed rapidly and they need to work on a wide range of devices. Moreover, those applications need to be maintained for long periods and they need to be flexible enough to work and interact with new hardware. Model View Controller (MVC) is one of the most widely used architectural patterns for building those kinds of applications. In this paper, we are analysing how an ML technique, in fact clustering, can be used for detecting autonomously the conformance of various mobile codebases to the MVC pattern. With our method CARL, we pave the way for creating a tool that automatically validates a mobile codebase from an architectural point of view. We have analyzed CARL’s performance on 8 iOS codebases distributed into 3 different classes based on their size (small, medium, large) and it has an accuracy of 81%, an average Mean Silhouette coefficient of 0.81, and an average Precision computed for each layer of 83%.

Recommended Citation

Dobrean, D. & Dioșan, L. (2022). On What Kind of Applications Can Clustering Be Used for Inferring MVC Architectural Layers?. In R. A. Buchmann, G. C. Silaghi, D. Bufnea, V. Niculescu, G. Czibula, C. Barry, M. Lang, H. Linger, & C. Schneider (Eds.), Information Systems Development: Artificial Intelligence for Information Systems Development and Operations (ISD2022 Proceedings). Cluj-Napoca, Romania: Risoprint. ISBN: 978-973-53-2917-4. https://doi.org/10.62036/ISD.2022.31

Paper Type

Full Paper

DOI

10.62036/ISD.2022.31

Share

COinS
 

On What Kind of Applications Can Clustering Be Used for Inferring MVC Architectural Layers?

Mobile applications are one of the most used pieces of software nowadays, as they continue to expand, the architecture of those software systems becomes more important. In the fast-paced domain of the mobile world, the applications need to be developed rapidly and they need to work on a wide range of devices. Moreover, those applications need to be maintained for long periods and they need to be flexible enough to work and interact with new hardware. Model View Controller (MVC) is one of the most widely used architectural patterns for building those kinds of applications. In this paper, we are analysing how an ML technique, in fact clustering, can be used for detecting autonomously the conformance of various mobile codebases to the MVC pattern. With our method CARL, we pave the way for creating a tool that automatically validates a mobile codebase from an architectural point of view. We have analyzed CARL’s performance on 8 iOS codebases distributed into 3 different classes based on their size (small, medium, large) and it has an accuracy of 81%, an average Mean Silhouette coefficient of 0.81, and an average Precision computed for each layer of 83%.