Transcript Update

Interactive Visualization of
Large Structured Development
Environment
Project Update – Nov 16 2005
By Anirban Sinha (Ani)
Problem


Large software projects can get really
complicated specially when large number of
modules are added & integrated together.
It would be really helpful if we can develop a
tool to visualize structures & method call
sequences within the source codes using
interactive trees.
Project update presentation - 16th Nov 2005
2
Proposed Solution – Original Plan



Use Prefuse Infovis toolkit to visualize
program structures written in C as graphical
models & add interactions.
To compensate for large complicated
graphical structures for large projects, we add
zooming & panning facilities.
For static analysis of code, I originally
planned to use my previously designed code
parser & add some modifications to it when
required.
Project update presentation - 16th Nov 2005
3
Progress so far …

Configured Prefuse to work in eclipse.

Front end structure has been designed to
load a file & display graphical visualization.
Project update presentation - 16th Nov 2005
4
Snapshots …
Project update presentation - 16th Nov 2005
5
Snapshot Continued …
Project update presentation - 16th Nov 2005
6
A look at milestones …
Week 1
(10 HRS)
Week 2
(15 HRS)
Establish familiarity with the
Prefuse Toolkit.

Try out the animated graph
with a dummy adjacency
matrix

Possibly miscalculated/unanticipated milestones?? True.
– it definitely needs revision.
Project update presentation - 16th Nov 2005
7
Challenges So far/Diversions from
Original Proposal …



Soon, realization dawned in that designing a
static analyzer for C source code is in itself a
large project.
Started looking for open source (so that I
could tweak & port them with Prefuse),
possibly cross platform & eclipse configurable
analyzers.
Did not get any effective tools that analyze C
codes, but got one that analyses exception
flow control in Java codes - Jex.
Project update presentation - 16th Nov 2005
8
Jex - A Tool for Analyzing Exception
Flow in Java Programs
http://www.cs.ubc.ca/~mrobilla/jex/




Originally designed by Martin P. Robillard
during his masters research @ UBC. He is
currently a faculty at McGill.
Analyzes the flow of exceptions in Java
programs.
Is open source, written in Java & eclipse
configurable.
Produces analysis results in text files which
can be visualized.
Project update presentation - 16th Nov 2005
9
Current Work/Future Directions …



Currently working on to run Jex on UNIX
system & run it on a sample java file &
observe
its
output
(having
some
CLASSPATH error).
Future work will mostly be concerned with
tweaking Jex to produce output file
compatible with Prefuse & tweaking Prefuse
toolkit to bring about effective visualization of
the exception flow structure.
Need to talk to Chris and/or Gail Murphy for
further insights.
Project update presentation - 16th Nov 2005
10
References consulted so far …




Prawn: An Interactive Tool for Software
Visualization, Andrew Chan, Reid Holmes.
Pathfinder: exposing the mental map of
program navigation , Mik Kersten (beatmikat-acm.org), CS 533C Visualization Project,
March 1 2004.
Martin Robillard ([email protected]).
The Aristotle Project
http://www.cc.gatech.edu/aristotle (got this
reference from Martin).
Project update presentation - 16th Nov 2005
11