Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sequence Diagram Reverse Engineering

I'm looking for a tool that will reverse engineer Java into a sequence diagram BUT also provides the ability to filter out calls to certain libraries.

For example, the Netbeans IDE does a fantastic job of this but it includes all calls to String or Integer which clutter up the diagram to the point it is unusable.

Any help is greatly appreciated!!!!!!!

like image 740
Keith Fitzgerald Avatar asked Sep 17 '08 20:09

Keith Fitzgerald


People also ask

How do I generate code from sequence diagram?

Right click a Sequence Diagram and select Generate Code from Sequence diagram.

What is reverse engineering in UML?

Reverse engineering is the process to reverse engineer UML model from Java source. With reverse engineering, you can visualize your program or system with class diagram. Before reverse engineering, you must open the UML project from the Java project.

Can reverse engineering possible for interaction diagrams?

A small number of commercial and non- commercial software packages exist that can reverse engineer source code into interaction diagrams. Reverse engineering means in this case the process of turning source code into UML diagrams.


2 Answers

I think jtracert is what you are looking for. It generates a sequence diagram from a running Java program. Also, because its output is a text description of the diagram (in the formats of several popular SD tools), you can use grep to filter for only the classes you are interested in.

like image 65
Steve Hanov Avatar answered Sep 21 '22 23:09

Steve Hanov


I believe the perfect tool to solve your problem is Diver: Dynamic Interactive Views For Reverse Engineering. It provides both static and dynamic sequence diagrams and looks to solve all your requirements from your question.

It is a plugin for Eclipse and lets you:

  • Easily trace your Java programs
  • Visualize your program’s runtime functionality
  • Filter your traces to make them more compact
  • Filter your IDE based on what occurs at runtime
  • See what code ran in your source code editors

It's on Github and there is also a project web site

Full Disclosure: I am the current project lead for Diver

like image 42
Sean Avatar answered Sep 17 '22 23:09

Sean