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

P. Tonella, A. Potrich
{"title":"Reverse engineering of the UML class diagram from c++ code in presence of weakly typed containers","authors":"P. Tonella, A. Potrich","doi":"10.1109/ICSM.2001.972750","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"34","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.2001.972750","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 34

Abstract

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.
在存在弱类型容器的情况下,对c++代码中的UML类图进行逆向工程
UML图,特别是最常用的类图,代表了一个有价值的信息源,即使在系统交付之后,当它进入维护阶段。有几个工具提供了反向工程引擎来从代码中恢复它。本文提出了一种提高从代码中提取的UML类图准确性的算法。特别是,当使用弱类型容器(即收集类型为继承层次结构顶部的对象的容器)时,逆向工程类图中可能会遗漏有关类间关系的重要信息。实际上,所包含对象的类并不是直接已知的,因此从容器声明中无法看出与它的关系。所提出的方法应用于欧洲核子研究中心开发的几个软件组件。实验结果表明,当使用推断数据对容器类型信息进行细化时,取得了显著的改进。当考虑容器时,否则错过的关系的数量是相关的,并且相关类图的连通性是完全不同的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信