Detecting the Most Important Classes from Software Systems with Self Organizing Maps

Self Organizing Maps (SOM) are unsupervised neural networks suited for visualisation purposes and clustering analysis. This study uses SOM to solve a software engineering problem: detecting the most important (key) classes from software projects. Key classes are meant to link the most valuable conc...

Full description

Bibliographic Details
Main Author: Elena-Manuela MANOLE
Format: Article
Language:English
Published: Babes-Bolyai University, Cluj-Napoca 2021-07-01
Series:Studia Universitatis Babes-Bolyai: Series Informatica
Subjects:
Online Access:http://193.231.18.162/index.php/subbinformatica/article/view/1173
_version_ 1797322236463415296
author Elena-Manuela MANOLE
author_facet Elena-Manuela MANOLE
author_sort Elena-Manuela MANOLE
collection DOAJ
description Self Organizing Maps (SOM) are unsupervised neural networks suited for visualisation purposes and clustering analysis. This study uses SOM to solve a software engineering problem: detecting the most important (key) classes from software projects. Key classes are meant to link the most valuable concepts of a software system and in general these are found in the solution documentation. UML models created in the design phase become deprecated in time and tend to be a source of confusion for large legacy software. Therefore, developers try to reconstruct class diagrams from the source code using reverse engineering. However, the resulting diagram is often very cluttered and difficult to understand. There is an interest for automatic tools for building concise class diagrams, but the machine learning possibilities are not fully explored at the moment. This paper proposes two possible algorithms to transform SOM in a classification algorithm to solve this task, which involves separating the important classes - that should be on the diagrams - from the others, less important ones. Moreover, SOM is a reliable visualization tool which able to provide an insight about the structure of the analysed projects. Received by the editors: 24 May 2021. 2010 Mathematics Subject Classification. 68T05, 68T20. 1998 CR Categories and Descriptors. I.2.6 [Artificial Intelligence]: Learning - Connectionism and neural nets; D.2.2 [Software Engineering]: Design Tools and Techniques - Computer-aided software engineering (CASE).
first_indexed 2024-03-08T05:11:16Z
format Article
id doaj.art-851e5d997cef41f9bf10991d5326671f
institution Directory Open Access Journal
issn 2065-9601
language English
last_indexed 2024-03-08T05:11:16Z
publishDate 2021-07-01
publisher Babes-Bolyai University, Cluj-Napoca
record_format Article
series Studia Universitatis Babes-Bolyai: Series Informatica
spelling doaj.art-851e5d997cef41f9bf10991d5326671f2024-02-07T10:03:35ZengBabes-Bolyai University, Cluj-NapocaStudia Universitatis Babes-Bolyai: Series Informatica2065-96012021-07-0166110.24193/subbi.2021.1.04Detecting the Most Important Classes from Software Systems with Self Organizing MapsElena-Manuela MANOLE0Department of Computer Science, Faculty of Mathematics and Computer Science, Babes-Bolyai University, 1 Kogalniceanu St., 400084 Cluj-Napoca, Romania; meic2001@scs.ubbcluj.ro Self Organizing Maps (SOM) are unsupervised neural networks suited for visualisation purposes and clustering analysis. This study uses SOM to solve a software engineering problem: detecting the most important (key) classes from software projects. Key classes are meant to link the most valuable concepts of a software system and in general these are found in the solution documentation. UML models created in the design phase become deprecated in time and tend to be a source of confusion for large legacy software. Therefore, developers try to reconstruct class diagrams from the source code using reverse engineering. However, the resulting diagram is often very cluttered and difficult to understand. There is an interest for automatic tools for building concise class diagrams, but the machine learning possibilities are not fully explored at the moment. This paper proposes two possible algorithms to transform SOM in a classification algorithm to solve this task, which involves separating the important classes - that should be on the diagrams - from the others, less important ones. Moreover, SOM is a reliable visualization tool which able to provide an insight about the structure of the analysed projects. Received by the editors: 24 May 2021. 2010 Mathematics Subject Classification. 68T05, 68T20. 1998 CR Categories and Descriptors. I.2.6 [Artificial Intelligence]: Learning - Connectionism and neural nets; D.2.2 [Software Engineering]: Design Tools and Techniques - Computer-aided software engineering (CASE). http://193.231.18.162/index.php/subbinformatica/article/view/1173self organizing maps, artificial neural networks, machine learning, classification algorithms, search based software engineering, software visualisation, key class detection, condensing class diagrams
spellingShingle Elena-Manuela MANOLE
Detecting the Most Important Classes from Software Systems with Self Organizing Maps
Studia Universitatis Babes-Bolyai: Series Informatica
self organizing maps, artificial neural networks, machine learning, classification algorithms, search based software engineering, software visualisation, key class detection, condensing class diagrams
title Detecting the Most Important Classes from Software Systems with Self Organizing Maps
title_full Detecting the Most Important Classes from Software Systems with Self Organizing Maps
title_fullStr Detecting the Most Important Classes from Software Systems with Self Organizing Maps
title_full_unstemmed Detecting the Most Important Classes from Software Systems with Self Organizing Maps
title_short Detecting the Most Important Classes from Software Systems with Self Organizing Maps
title_sort detecting the most important classes from software systems with self organizing maps
topic self organizing maps, artificial neural networks, machine learning, classification algorithms, search based software engineering, software visualisation, key class detection, condensing class diagrams
url http://193.231.18.162/index.php/subbinformatica/article/view/1173
work_keys_str_mv AT elenamanuelamanole detectingthemostimportantclassesfromsoftwaresystemswithselforganizingmaps