Challenges in Reverse Engineering of C++ to UML

Ansgar Radermacher, Marcos Fabro, Shebli Anvar, Frédéric Chateau

2024

Abstract

Model-driven engineering provides several advantages compared to a direct manual implementation of a system. In reverse-engineering applications, an existing code basis needs to be imported into the modeling language. However, there is an abstraction gap between the programming language (C++) and the modeling language, in our case UML. This gap implies that the model obtained via reverse engineering is a model that directly mirrors the object-oriented implementation structures and does not use higher-level modeling mechanisms such as component-based concepts or state-machines. In addition, some concepts of the implementation languages can not be expressed in UML, such as advanced templates. Therefore, new systems are often either developed from scratch or model-driven approaches are not applied. The latter has become more attractive recently, as IDEs offer powerful refactoring mechanisms and AI based code completion - model-driven approaches need to catch up with respect to AI support to remain competitive. We present a set of challenges, based on examples, that need to be handled when reverse engineering C++ code. We describe how we handle them by improving reverse engineering capabilities of an existing tool.

Download


Paper Citation


in Harvard Style

Radermacher A., Fabro M., Anvar S. and Chateau F. (2024). Challenges in Reverse Engineering of C++ to UML. In Proceedings of the 26th International Conference on Enterprise Information Systems - Volume 2: ICEIS; ISBN 978-989-758-692-7, SciTePress, pages 272-279. DOI: 10.5220/0012720200003690


in Bibtex Style

@conference{iceis24,
author={Ansgar Radermacher and Marcos Fabro and Shebli Anvar and Frédéric Chateau},
title={Challenges in Reverse Engineering of C++ to UML},
booktitle={Proceedings of the 26th International Conference on Enterprise Information Systems - Volume 2: ICEIS},
year={2024},
pages={272-279},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0012720200003690},
isbn={978-989-758-692-7},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 26th International Conference on Enterprise Information Systems - Volume 2: ICEIS
TI - Challenges in Reverse Engineering of C++ to UML
SN - 978-989-758-692-7
AU - Radermacher A.
AU - Fabro M.
AU - Anvar S.
AU - Chateau F.
PY - 2024
SP - 272
EP - 279
DO - 10.5220/0012720200003690
PB - SciTePress