Abstract
Model View Controller (MVC) is one of the most widespread and used software architecture in client-side software. We are interested in automatically inferring and analyzing MVC architectures from mobile application codebases that could help to identify the architectural problems earlier in the development process, offering insightful knowledge for both software developers, architects, and the management team. In this paper, we are analyzing two different approaches for MVC architecture detection on mobile applications that use Machine Learning (ML) techniques to automate the process: Cluster- ing Architectural Layers (CARL) — an automatic one based on unsupervised ML — and Hybrid Detection (HyDe) — a semi-automatic one that combines unsupervised ML and heuristic information. The investigated approaches are compared by applying them to eight different-sized codebases which had the ground truth constructed by two senior mobile developers (over five years of experience). We have analyzed the precision, recall, and accuracy of the meth- ods. In addition, we also evaluate the homogeneity, completeness, cohesion, and separation characteristics for more insightful details on their performance. The research revolved around a single question: How can a mobile architectural pattern be inferred from a mobile codebase?, and we have found out that min- ing approaches that use ML can be successfully used on the mobile codebases with an average accuracy of 86%. Both methods seem promising on different codebases: CARL is successful in the case of small applications, while HyDe in that of medium and large-sized ones.
Citare
@Inproceedings{Dobrean2022ComparingAA,
author = {D. Dobrean and L. Dioşan},
booktitle = {Social Science Research Network},
title = {Comparing Automatic Approaches for Mvc Architecture Detection in Ios Codebases},
year = {2022}
}
