The STUDIA UNIVERSITATIS BABEŞ-BOLYAI issue article summary

The summary of the selected article appears at the bottom of the page. In order to get back to the contents of the issue this article belongs to you have to access the link from the title. In order to see all the articles of the archive which have as author/co-author one of the authors mentioned below, you have to access the link from the author's name.

 
       
         
    STUDIA INFORMATICA - Issue no. 1 / 2021  
         
  Article:   DETECTING THE MOST IMPORTANT CLASSES FROM SOFTWARE SYSTEMS WITH SELF-ORGANIZING MAPS.

Authors:  ELENA-MANUELA MANOLE.
 
       
         
  Abstract:  
DOI: 10.24193/subbi.2021.1.04

Published Online: 2021-06-30
Published Print: 2021-06-30
pp. 54-73

VIEW PDF


FULL PDF

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.

Keywords and phrases: self-organizing maps, artificial neural networks, machine learning, classification algorithms, search based software engineering, software visualisation, key class detection, condensing class diagrams.

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).
 
         
     
         
         
      Back to previous page