Comparing Automatic Approaches for Mvc Architecture Detection in Ios Codebases
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
Year of publication: |
[2022]
|
---|---|
Authors: | Dobrean, Dragos ; Diosan, Laura |
Publisher: |
[S.l.] : SSRN |
Saved in:
freely available
Saved in favorites
Similar items by subject
-
Find similar items by using search terms and synonyms from our Thesaurus for Economics (STW).