Computing system metrics through reverse engineering

In this paper we present a novel approach to assess system design quality by means of automatically computed metrics based on source code. We have used in-house reverse engineering tool to extract UML diagrams, class, sequence and activity, from C++ code. These extracted UML diagrams represent the system design and can be used to compute metrics indicating the quality of the system design. The metrics can be visualized in e.g. 3-dimensional way. Besides, we describe two case studies: one to compare existing system design with automatically generated system design and the industrial case study that helped to reveal bad smells in system design.