Classifying Model-View-Controller Software Applications Using Self-Organizing Maps

被引:13
作者
Guaman, Daniel [1 ,2 ]
Delgado, Soledad [1 ]
Perez, Jennifer [1 ]
机构
[1] Univ Politecn Madrid, Dept Sistemas Informat, ETS Ingn Sistemas Informat, Madrid 28031, Spain
[2] Univ Tecn Particular Loja, Dept Ciencias Computac & Elect, Loja 110107, Ecuador
关键词
Software; Software architecture; Computer architecture; Decision making; Clustering methods; Clustering algorithms; Self-organizing feature maps; Model-view-controller; software architectures; artificial neural networks; self-organizing maps (SOM); unsupervised clustering techniques; machine learning; software quality; ARCHITECTURE;
D O I
10.1109/ACCESS.2021.3066348
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The new era of information and the needs of our society require continuous change in software and technology. Changes are produced very quickly and software systems require evolving at the same velocity, which implies that the decision-making process of software architectures should be (semi-)automated to satisfy changing needs and to avoid wrong decisions. This issue is critical since suboptimal architecture design decisions may lead to high cost and poor software quality. Therefore, systematic and (semi-)automated mechanisms that help software architects during the decision-making process are required. Architectural patterns are one of the most important features of software applications, but the same pattern can be implemented in different ways, leaving to results of different quality. When an application requires to evolve, knowledge extracted from similar applications is useful for driving decisions, since quality pattern implementations can be reproduced in similar applications to improve specific quality attributes. Therefore, clustering methods are especially suitable for classifying similar pattern implementations. In this paper, we apply a novel unsupervised clustering technique, based on the well-known artificial neural network model Self-Organizing Maps, to classify Model-View-Controller (MVC) pattern from a quality point of view. Software quality is analyzed by 24 metrics organized into the categories of Count/Size, Maintainability, Duplications, Complexity, and Design Quality. The main goal of this work is twofold: to identify the quality features that establish the similarity of MVC applications without software architect bias, and to classify MVC applications by means of Self-Organizing Maps based on quality metrics. To that end, this work performs an exploratory study by conducting two analyses with a dataset of 87 Java MVC applications characterized by the 24 metrics and two attributes that describe the technology dimension of the application. The stated findings provide a knowledge base that can help in the decision-making process for the architecture of Java MVC applications.
引用
收藏
页码:45201 / 45229
页数:29
相关论文
共 109 条
[1]   Design Decision Documentation: A Literature Overview [J].
Alexeeva, Zoya ;
Perez-Palacin, Diego ;
Mirandola, Raffaela .
SOFTWARE ARCHITECTURE, ECSA 2016, 2016, 9839 :84-101
[2]   A Validated Set of Smells in Model-View-Controller Architectures [J].
Aniche, Mauricio ;
Bavota, Gabriele ;
Treude, Christoph ;
van Deursen, Arie ;
Gerosa, Marco Aurelio .
32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016), 2016, :234-244
[3]  
Aniche MF, 2015, PROC IEEE INT CONF S, P598, DOI 10.1109/ICSM.2015.7332522
[4]  
Ann Campbell G., 2021, COGNITIVE COMPLEXITY
[5]  
[Anonymous], 2009, P INT C INT AG MULT
[6]  
[Anonymous], 2012, Case Study Research in Software Engineering-Guidelines and examples, DOI DOI 10.1002/9781118181034
[7]  
Anquetil N., 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303), P235, DOI 10.1109/WCRE.1999.806964
[8]   A novel clustering algorithm based on data transformation approaches [J].
Azimi, Rasool ;
Ghayekhloo, Mohadeseh ;
Ghofrani, Mahmoud ;
Sajedi, Hedieh .
EXPERT SYSTEMS WITH APPLICATIONS, 2017, 76 :59-70
[9]  
Babar MA, 2009, SOFTWARE ARCHITECTURE KNOWLEDGE MANAGEMENT: THEORY AND PRACTICE, P69, DOI 10.1007/978-3-642-02374-3_5
[10]  
BASS L, 2003, SOFTWARE ARCHITECTUR