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 条
[81]  
Peters Lawrence, 2014, 2014 Sixth International Workshop on Managing Technical Debt. Proceedings, P8, DOI 10.1109/MTD.2014.7
[82]   Guidelines for conducting systematic mapping studies in software engineering: An update [J].
Petersen, Kai ;
Vakkalanka, Sairam ;
Kuzniarz, Ludwik .
INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 64 :1-18
[83]  
Plakalovi D., 2010, J COMPUT, V2, P65
[84]  
Raman R, 2018, 2018 13TH ANNUAL CONFERENCE ON SYSTEM OF SYSTEMS ENGINEERING (SOSE), P350, DOI 10.1109/SYSOSE.2018.8428733
[85]  
Reenskaug T. M. H., 2007, ORIGINAL MVC REPORTS
[86]  
Sarker I.H., 2014, Int. J. Hybrid Inform. Technol, P317, DOI [10.14257/ijhit.2014.7.5.29, DOI 10.14257/IJHIT.2014.7.5.29]
[87]   VISUAL PREDICTIONS OF CURRENCY CRISES USING SELF-ORGANIZING MAPS [J].
Sarlin, Peter ;
Marghescu, Dorina .
INTELLIGENT SYSTEMS IN ACCOUNTING FINANCE & MANAGEMENT, 2011, 18 (01) :15-38
[88]   K-MEANS-TYPE ALGORITHMS - A GENERALIZED CONVERGENCE THEOREM AND CHARACTERIZATION OF LOCAL OPTIMALITY [J].
SELIM, SZ ;
ISMAIL, MA .
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, 1984, 6 (01) :81-87
[89]   Quality-Driven Self-Adaptation: Bridging the Gap between Requirements and Runtime Architecture by Design Decision [J].
Shen, Liwei ;
Peng, Xin ;
Zhao, Wenyun .
2012 IEEE 36TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2012, :185-194
[90]  
Sokolova K., 2014, International Journal on Advances in Software, V7, P123