Cargando…

Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers

UML diagrams, and in particular the most frequently used one, the class diagram, represent a valuable source of information even after the delivery of the system, when it enters the maintenance phase. Several tools provide a reverse engineering engine to recover it from the code. In this paper, an a...

Descripción completa

Detalles Bibliográficos
Autores principales: Tonella, Paolo, Potrich, Alessandra
Lenguaje:eng
Publicado: 2001
Materias:
Acceso en línea:http://cds.cern.ch/record/623253
_version_ 1780900459371823104
author Tonella, Paolo
Potrich, Alessandra
author_facet Tonella, Paolo
Potrich, Alessandra
author_sort Tonella, Paolo
collection CERN
description UML diagrams, and in particular the most frequently used one, the class diagram, represent a valuable source of information even after the delivery of the system, when it enters the maintenance phase. Several tools provide a reverse engineering engine to recover it from the code. In this paper, an algorithm is proposed for the improvement of the accuracy of the UML class diagram extracted from the code. Specifically, important information about inter-class relations may be missed in a reverse engineered class diagram, when weakly typed containers, i.e., containers collecting objects whose type is the top of the inheritance hierarchy, are employed. In fact, the class of the contained objects is not directly known, and therefore no relation with it is apparent from the container declaration. The proposed approach was applied to several software components developed at CERN. Experimental results highlight that a substantial improvement is achieved when the container type information is refined with the inferred data. The number of relations otherwise missed is relevant and the connectivity of the associated class diagrams is radically different when containers are considered. 14 Refs.
id cern-623253
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2001
record_format invenio
spelling cern-6232532019-09-30T06:29:59Zhttp://cds.cern.ch/record/623253engTonella, PaoloPotrich, AlessandraReverse engineering of the UML class diagram from C++ code in presence of weakly typed containersComputing and ComputersUML diagrams, and in particular the most frequently used one, the class diagram, represent a valuable source of information even after the delivery of the system, when it enters the maintenance phase. Several tools provide a reverse engineering engine to recover it from the code. In this paper, an algorithm is proposed for the improvement of the accuracy of the UML class diagram extracted from the code. Specifically, important information about inter-class relations may be missed in a reverse engineered class diagram, when weakly typed containers, i.e., containers collecting objects whose type is the top of the inheritance hierarchy, are employed. In fact, the class of the contained objects is not directly known, and therefore no relation with it is apparent from the container declaration. The proposed approach was applied to several software components developed at CERN. Experimental results highlight that a substantial improvement is achieved when the container type information is refined with the inferred data. The number of relations otherwise missed is relevant and the connectivity of the associated class diagrams is radically different when containers are considered. 14 Refs.oai:cds.cern.ch:6232532001
spellingShingle Computing and Computers
Tonella, Paolo
Potrich, Alessandra
Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers
title Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers
title_full Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers
title_fullStr Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers
title_full_unstemmed Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers
title_short Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers
title_sort reverse engineering of the uml class diagram from c++ code in presence of weakly typed containers
topic Computing and Computers
url http://cds.cern.ch/record/623253
work_keys_str_mv AT tonellapaolo reverseengineeringoftheumlclassdiagramfromccodeinpresenceofweaklytypedcontainers
AT potrichalessandra reverseengineeringoftheumlclassdiagramfromccodeinpresenceofweaklytypedcontainers