1. SHriMP Views: The Untold Story Margaret-Anne Storey University of Victoria ICPC 2011 Award for Most Influential Paper from IWPC 2001. "An Interactive Visualization Environment for Exploring Java Programs" authored by Margaret-Anne Storey, Jeff Michaud and Casey Best.
15. A Cognitive Framework for Describing and Evaluating Software Exploration Tools IWPC 1997, JSS Supporting program comprehension Bottom-up Top-down Integrated Navigation Orientation cues User interface Bottom-up Top-down Navigation Orientation cues User interface Cognitive Design Elements Enhance program comprehension Reduce cognitive overhead
16. Integrated Bottom-up Top-down Enhance program comprehension Provide directional navigation Orientation cues Navigation User interface Reduce cognitive overhead Cognitive Design Elements Support arbitrary navigation … bookmarks, search engines Indicate options for reaching new locations Display path to the focus Indicate the current focus … histories, overview windows, trails
19. What tools do programmers need to understand programs? A Cognitive Framework of Design Elements to guide tool design Evaluate tool usefulness and usability with user studies SHriMP Views How do programmers understand programs?
34. Choosel open source framework for creating web -based visualization environments with multiple coordinated views Try out Choosel at: http://choosel-mashups.appspot.com
Lots of editors use visualization…. Source code is a visualization… indeed if you look at Eclipse and Visual Studio today, how the code is presented with folding, use of color and markers for navigation at the side,
Demoed with transparencies at ICSM 1995!
Software information often has web- like structures -- several hypertext browsers for source code Comprehension of a hyperdocument involves the “construction of a mental model that represents the objects and semantic relations in a text” Increase coherence (local and global) Reduce cognitive overhead Through our literature review, we developed a framework to describe some of the fundamental issues that a software exploration tool should address. There are two main branches to this framework. The first branch addresses the various comprehension strategies for understanding programs, such as bottom-up, top-down and integrated approaches. The second branch addresses issues which are particularly important for tools which are used for exploring large amounts of information. The issues highlighted in this branch are also relevant for other tools, such as hypermedia tools. Indeed the idea for this framework came from a similar framework was developed by Thuring et al for hypermedia tools.
(it is easy for them to say they like your tool or that they will use it!)
Don’t need this and following slides, pick one or the other! NavTracks and VizTracks (navigation patterns, recommending future locations) TagSEA (uses the metaphor of Waypoints from GPS and tagging to improve findability and sharing of Waypoints) and Tours of waypoints Social media and software processes/tools Diver (combining software reconnaissance, task focused user interface and sequence diagrams to support debugging) Choosel: visualization framework (dashboards)
Hierarchical tags... A lot of tool support for authoring and managing them. Adopted by some developers and used extensively for documenting
“ The web is our inspiration” developing software in a team is like playing an instrument in a band require balance of collaboration and virtuosity
require balance of collaboration and virtuosity
Read more before you build or evaluate anything! Conduct a careful literature review and don’t be afraid to email the authors