Interactive Visualization of Large Structured Development Environment Project Update – Nov By Anirban Sinha (Ani)
Project update presentation - 16th Nov 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 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 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 Snapshots …
Project update presentation - 16th Nov Snapshot Continued …
Project update presentation - 16th Nov A look at milestones … Week 1 (10 HRS) Establish familiarity with the Prefuse Toolkit. Week 2 (15 HRS) Try out the animated graph with a dummy adjacency matrix Possibly miscalculated/unanticipated milestones?? True. – it definitely needs revision.
Project update presentation - 16th Nov 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 Jex - A Tool for Analyzing Exception Flow in Java Programs Originally designed by Martin P. Robillard during his masters 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 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 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 (beatmik- at-acm.org), CS 533C Visualization Project, March Martin Robillard The Aristotle Project (got this reference from Martin).