C++ Reverse Engineering

Easiest way to reverse engineer C++ into an Astah Diagram

C++ Reverse Engineering Plug-in is the easiest way to reverse C++ source code into UML diagrams in Astah. It will add an option to [Import C++] directly into the dropdown menus.

How to Reverse Engineer C++ with Astah

  1. Download the C++ Reverse Engineering Plug-in
  2. Run Astah and go to [Help] - [Plugin List] menu and click [Install] button (if you are running Astah 6.6.x or earlier click here).
    anycode plugin
  3. Select the .jar file and restart Astah.
    anycode plugin
  4. [Import C++] is now under [Tool] - [C++]
  5. Have your C++ source code exported into XML by using Doxygen (instructions for using Doxygen)
  6. Select [Tool] - [C++] - [Import C++] and select the XML file
  7. You can generate Class Diagrams with the Source Code you imported by selecting [Auto Create Class Diagram/ Detailed Class Diagram] from the menu in the pop down menu of Project, Package, Subsystem, Model or Classes in the Structure Tree. TIP - How to auto-create Class Diagrams

Instructions for using Doxygen

To reverse C++ Source Code into Astah, you first need to create XML files of the source code using a tool called "Doxygen".

  1. Download Doxygen, a free tool that can be used to export C++ source code to an XML file.
  2. Install and Launch Doxygen, the [Doxygen GUI Frontend] dialog will open, set it up as follows. (Version 1.8.9.1 shown)

    [Wizard] tab

    [Project][Mode][Output]
    Wizard TabWizard TabWizard Tab
    [Project]Do not use the following symbols: &, <, >, * or @ in the destination directory.
    [Mode]Choose [All Entities] and [Optimize for C++ output or C++/CLI output]
    [Output]Choose [XML]

    [Expert] tab

    [Input]

    Wizard Tab

    [Preprocessor]

    Wizard Tab
    [Input]Specify the encoding which is used in the source code (e.g. UTF-8, CP1252). List of supported encoding
    [Preprocessor]Make sure to check the three options, [Enable_Preprocessing], [Macro_Expansion] and [Search_includes], the rest can be by your preference.
  3. Go to [File] - [Save] to save this configuration.
    Wizard Tab
  4. Go back to [Doxygen GUI frontend] dialog, select [Run] tab. Specify the working directory and then click [Run doxygen] button.
    Wizard Tab
  5. The message "*** Doxygen has finished" appears.

    Please make sure that Doxygen generated the .xml file without any errors in the window.

    Wizard Tab
  6. Import this .xml file from [Tool] - [C++] - [Import C++] in Astah.

How to install plug-in in Astah 6.6.x or earlier

Save the plug-in .jar file in the 'plugins' folder under the Astah installation folder and restart Astah

Version History

Plug-in VersionRelease DateAstah Professional VersionDownload / Release Notes
1.0.92014/07/17Version 6.8 or laterDownload
1.0.82014/08/06Version 6.8 or laterDownload
1.0.72014/02/27Version 6.8 or laterDownload / Release Notes
1.0.62013/12/06Version 6.7 or laterDownload
1.0.52013/03/22Version 6.6.4Download

This Plug-in works with Astah Professional