Reverse engineering UML class diagrams from Java code

Dong, S.E van der (2024)

During software development, mistakes occur which causes code to become inefficient or contain bugs. The more of these mistakes that occur within a project, the more technical debt it is said to accrue. To improve the occurrence of this, in this paper higher-level technical debt such as design-level debt is improved upon by reverse engineering unified modeling language (UML) class diagrams from Java code within a project. By visualizing the project’s development and generating a class diagram from each occurring commit within a project, software developers can understand the state of their project more easily in this higher abstract view. Allowing for a better understanding of how progress was made during the project’s life cycle and improving on the shortcomings made throughout it. This resulted in a mapping of Java to XMI representing these class diagrams as a step to allow other software developers and researchers to further improve upon detecting and documenting such debt to improve the quality of developed software and reduce long-term maintenance costs.
Dong_BA_EEMCS.pdf