Monday, January 16, 2012

Reverse Engineering Tool JavaCallTracer

Javacalltracer is a reverse engineering tool for Java/J2EE programs.

Can be used in a situation where you need to analyze a java program that was developed by someone else and there is not much documentation available about the program. Normally the way people work in such a situation is that they study the source code to understand its working. But this is a very time consuming and error prone process and generally the output is a sequence diagram. This tool takes that manual work and automates it, which saves a lot of time and effort.

This tool can also be used to do design validation after the coding phase of a project. So once all the code has been written I as an architect can just run the program and generate all the sequence diagrams from the working program and compare them to my design sequence diagram to check if the design was properly followed.

This tool is actually a combination of 2 tools
1] Calltracer
2] Calltrace2Seq

The Calltracer tool attaches to the JVM of your java program (while it is running) and records the call trace. This can then be printed out in XML or Text formats.

Once you have used the Calltracer tool to generate a XML output you can then use the Calltrace2Seq tool (which is a simple java program) to convert it to a UML sequence diagram. More details are available at "Using the Calltrace2Seq tool".

The sequence diagram will be generated in SVG format. SVG can be opened in browser.

Incase your java program has multiple threads, you will find that the generated output has multiple Thread elements. Each thread element has the call trace coressponding to a thread of the program.

2 comments:

  1. I have heard good things about Chief Architect for residential design, but I have never used it.
    solidworks support

    ReplyDelete
  2. I am a student and need the program for some projects. Is there any place to download it? Or maybe someone has it that will be willing to let me download it from them...? Thanks! I really need it!. Solidworks training

    ReplyDelete