The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Tools that can reverse engineer C/C++ code -> UML or diagrams

Anyone know of some free and easy to use tools that can do the job of generating UML and block diagrams from existing source code?
CMMI Sucks! Send private email
Wednesday, May 02, 2007
 
 
depends on the diagram and what you want it for. iirc doxygen can do class diagrams (as can countless other things). don't remember seeing any that generate sequence diagrams, which happens to be the only part of uml i've found particularly useful. but i don't use it much..
jk
Wednesday, May 02, 2007
 
 
Not free, no.

"UMLStudio" from www.PragSoft.com ($500 or so) will do both "forward" (diagram to .H files) and "reverse" (Code to UML class diagram) diagramming.  For C++, Java, IDL, and Ada.

"Understand for C++" will ingest entire subdirectory trees of code (and include directories).  It then will generate call trees, class diagrams, etc.  And it provides an excellent 'code browser'.  Again, around $500 per single license.  There's versions for Java, Ada, and Fortran too.
AllanL5
Wednesday, May 02, 2007
 
 
StarUml claims to reverse engineer C++ code. Never tried it though.
el
Wednesday, May 02, 2007
 
 
thanks.. i will check those two out.
CMMI Sucks! Send private email
Wednesday, May 02, 2007
 
 
I never actually tried, but it sounds a fairly easy thing to implement with Ruby or Python + Graphviz...
Carmack Send private email
Wednesday, May 02, 2007
 
 
Sparxsystems Enterprise Architect is good.
However nearly all of them will have issues with code having lots of macros and templates
nullptr
Wednesday, May 02, 2007
 
 
UMLStudio (there is a student edition) and Embarcadero Describe (I hear about to be discontinued) did OK job for me.

There is a lot to be decided up front eg.how do you want typedef and macro to be dealt with.

C++ is not so simple to parse. Doxygen is not 100% accurate on large complex code bases

Thursday, May 03, 2007
 
 
i think the real question that needs to be answered first is why do you want to do this? im guessing it has to do with your sig?
jk
Thursday, May 03, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz