Back to Search Start Over

A Tool for Efficiently Reverse Engineering Accurate UML Class Diagrams

Authors :
Michael L. Collard
Jonathan I. Maletic
Michael John Decker
Kyle Swartz
Source :
ICSME
Publication Year :
2016
Publisher :
IEEE, 2016.

Abstract

A tool that reverse engineers UML class diagrams from C++ source code is presented. The tool takes srcML as input and produces yUML as output. srcML is an XML representation of the abstract syntactic information of source code. The srcML parser (srcML.org) is highly scalable, efficient, and robust. yUML is a textual format for UML class diagrams that can be easily rendered into a graphical diagram via a web service (yUML.me) or a tool such as Graphvis. The approach utilizes efficient SAX (Simple API for XML) parsing to collect the information needed to construct the class diagram. Currently it supports the following UML features: differentiating between class, data type, or interface, identifying design level attributes, multiplicity and type, determining parameter direction, and identification of the relationships aggregation, composition, generalization, and realization. The tool produces yUML for all of Calligra (~1,144KLOC) in under 20 seconds (including translation into srcML). The tool is open source under a GPL license and available for download at srcML.org.

Details

Database :
OpenAIRE
Journal :
2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)
Accession number :
edsair.doi...........ac2b42abe3aed8b3800da1ab256b536f