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 conce...

Full description

Saved in:
Bibliographic Details
Published inStudia Universitatis Babes-Bolyai: Series Informatica Vol. 66; no. 1; p. 54
Main Author Manole, E.-M.
Format Journal Article
LanguageEnglish
Published Babes-Bolyai University, Cluj-Napoca 01.07.2021
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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.
ISSN:1224-869X
2065-9601
DOI:10.24193/subbi.2021.1.04