Reverse engineering UML class diagrams from Java code

Author(s): Dong, S.E van der (2024)

Abstract:
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.

Document(s):

Dong_BA_EEMCS.pdf