User Interfaces and Visualizations for Development-Time Program Analysis James Holley.

Similar presentations

Presentation on theme: "User Interfaces and Visualizations for Development-Time Program Analysis James Holley."— Presentation transcript:

1
User Interfaces and Visualizations for Development-Time Program Analysis James Holley

2
Motivation Develop a programming environment that allows for real-time static analysis, program visualization and debugging Allow the user to manipulate the visualization in order to focus on certain portions of memory Allow access to all data provided by the analysis while hiding potentially irrelevant details

4
User Interface Allow the user to see the visualization and code side by side Allow easy access to all visualizations Intuitive and easy for the user to select and view program states that may be useful

6
Visualization Allow the user to manipulate the visualization in order to focus on certain portions of memory Allow access to all data provided by the analysis while hiding potentially irrelevant details

8
User Interaction Pan/ Zoom: Move the graph to more clearly see different sections Drag Control: Move individual nodes Selection and Summarize: Compress parts of the graph into summaries that can be seen by hovering over the summarized section Restore: Undo a summary to restore the data that is currently summarized

10
Summaries Explained! Allow portions of graph to be compressed to hide irrelevant data Can be restored to display the data in the visualization before a certain summarization Contents of the summaries can be seen by hovering over the node Can be nested to further simplify the visualization Bottom Line: Allow the user to simplify the graph to discover useful properties of the program

11
Future Work and Improvements Improvements to Visualization: Use color to highlight the link between nodes and labels on the graph Allow user to unfold ‘thick edges’ to show iterations of the recursive data structure Improvements to Overall Design: User study to explore usefulness of visualizations Integrate into Eclipse’s build manager Find a heuristic that can pre-determine summarized areas