110 likes | 242 Vues
This presentation by Anirban Sinha (Ani) discusses the challenges of managing large software development projects, particularly when integrating numerous modules. It outlines a tool developed using the Prefuse InfoVis toolkit to visualize C program structures through interactive trees, incorporating features like zooming and panning. The presentation details the progress made as of November 16, 2005, including configuration within Eclipse, and highlights the challenges encountered in static code analysis and the exploration of existing analyzers, specifically Jex for Java exception flow analysis.
E N D
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
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
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
Snapshots … Project update presentation - 16th Nov 2005
Snapshot Continued … Project update presentation - 16th Nov 2005
A look at milestones … Possibly miscalculated/unanticipated milestones?? True. – it definitely needs revision. Project update presentation - 16th Nov 2005
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
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
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
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 1 2004. • Martin Robillard (martin@cs.mcgill.ca). • The Aristotle Project http://www.cc.gatech.edu/aristotle (got this reference from Martin). Project update presentation - 16th Nov 2005