An analysis of machine learning algorithms for condensing reverse engineered class diagrams
Paper i proceeding, 2013

There is a range of techniques available to reverse engineer software designs from source code. However, these approaches generate highly detailed representations. The condensing of reverse engineered representations into more high-level design information would enhance the understandability of reverse engineered diagrams. This paper describes an automated approach for condensing reverse engineered diagrams into diagrams that look as if they are constructed as forward designed UML models. To this end, we propose a machine learning approach. The training set of this approach consists of a set of forward designed UML class diagrams and reverse engineered class diagrams (for the same system). Based on this training set, the method 'learns' to select the key classes for inclusion in the class diagrams. In this paper, we study a set of nine classification algorithms from the machine learning community and evaluate which algorithms perform best for predicting the key classes in a class diagram. © 2013 IEEE.

Program Comprehension

Machine Learning


Software Engineering

Reverse Engineering


M.H. Osman

Universiteit Leiden

Michel Chaudron

Göteborgs universitet

P. Van Der Putten

Universiteit Leiden

IEEE International Conference on Software Maintenance, ICSM

1063-6773 (ISSN)



Data- och informationsvetenskap