Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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.
The storyline History of SHriMP Views What inspired it Lessons learned along the way (tools and studies) How the tool and underlying theory evolved Our follow-on work to SHriMP  Other visualizations that show promise for the near future Some advice for researchers
Acknowledgements…. My students and former colleagues: Hausi Muller Kenny Wong Casey Best Jeff Michaud Rob Lintern Ian Bull Chris Callendar Del Myers … Funding: NSERC University of Victoria IBM Darpa Stanford University MIT NASA DRDC Susan Sim, Filippo Ricci and other members of the committee for selecting this paper
 
10 years ago….. Year 2000 bug was still fresh in our memories! PCs around for 20 years eCommerce was on the rise Integration, migration, interoperability (legacy code)
Many visualization tools Rigi , PECAN, Seesoft Landscape views, Hy+ Surgeon’s Assistant Bauhaus … .. … .. … .. Imagix 4D Sotograph Polymetric views
What about Fred Brooks???
Fred Brooks misquoted…  He claims software is inherently invisible and unvisualizable… not amenable to a geometric mapping…  But are software code, designs, documentation, invisible? His quote referred to PhDs on visual programming!  Not to visualization of preexisting software artifacts…. No silver bullet: Essence and accidents of software engineering, 1987 IEEE Computer
Information visualization People have used  external aids  for centuries to amplify cognition (e.g. paper, slide rule, diagrams, charts) Visualize: to form a mental image or vision The use of computer supported, interactive, visual representations of abstract data can  amplify cognition Visualizations can help us gain  insight  about data
Other trends… Higraphs in software engineering  [David Harel, 1988] Pad++, a zoomable user interface  [Bederson  et al.,  1994] Continuous Zoom [Bartram  et al.,  1995]
SHriMP – A Software Exploration Tool S imple  H ierarchical  M ulti- P erspective Views (for Rigi): Make better use of limited screen area Leveraging sophisticated animation  and layout, fisheye view features [ICSM 1995]
 
Lessons #1 Evaluated early version of SHriMP and compared it to Command Line and Rigi (multiple windows) [WCRE 1996] “ Source code  is king”  (Janice Singer) Search  is an essential activity in program comprehension (Lethbridge, Singer) Fisheye views  not so useful!  Efficiency   was a concern
Comprehension theories Top-down  comprehension model  [Brooks, Soloway, Ehrlich, 1986] Bottom-up  comprehension  [Shneiderman/Mayer 1979, Pennington 1987] Opportunistic  and  systematic  strategies  [Littman  et al. , Letovsky 1987] Integrated meta-model [Vans, von Mayrhauser 1995] Hypermedia navigation (coherence, legibility) [e.g. Thurston  et al. ]
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
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
SHriMP – A Software Exploration Tool S imple  H ierarchical  M ulti- P erspective Views (for Rigi): Make better use of limited screen area Leveraging sophisticated animation  and layout features Integrate code browsing using  hypertext (HTML objects) embedded in the graph Using nested graphs (containment) and ZUIs Support for top down and bottom up navigation Integrated search, source code views
Almost 10 year old demo!
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?
Lessons #2 Compared SHriMP with Rigi and SNiFF++ [WCRE 1997] Overviews in Rigi and SHriMP communicated a  mental map Opportunistic  sightseeing behaviours  observed in SHriMP Need for better  searching  and  filtering   tools in SHriMP Layouts   not so important (but preserving mental map is) Align with the tools developers use  (reduce  friction ) “ Star programmers ” can use any tool
Creole:  Integration of SHriMP with Eclipse 2007 Demo …
Recap on noteworthy features Filmstrip – semantic bookmarks (snapshots) Scripting (javascript) Customized views On demand visualization
Beyond software visualization….  Ontologies in Protégé, Jambalaya (Darpa, Stanford University) Version control information, Xia  Business flow diagrams,  Ebi (IBM) Assembly (DND)
Lessons learned #3 Need for  on-demand task driven  visualization as opposed to overviews…  Customization  required but very few users will write scripts (unless it is easy to do so!) Source code should be  editable … Need to be able to play with the invisible stuff… Executing  the program is important (duh…)
Lessons learned about empirical studies Need for an  underlying theory !  Otherwise you only know one tool is better than another not why…  Not enough to say my users liked it or that they used it or that they answered questions they hadn’t actually thought of before they saw my tool! Student programmers  are *not* the same as prof devs Statistical significance  is not the holy grail (too many controls), strive to be convinced (but convincing reviewers is harder) Understand the different   tradeoffs  of  empirical studies and choose wisely and  purposefully [McGrath94, Easterbrook2007]
The next chapters?
NavTracks/VizTracks [ICSM2005]
Beyond Bookmarks: Waypoints
Waypoints and metadata Used by geographical positioning systems ( GPS ) to save  locations  for future navigation They can be entered explicitly by entering lat/long coordinates or during  navigation They have  metadata
TagSEA  [CHI2006, ICSM2007] Can waypoint in code, outside code, docs, xml, breakpoints, url etc. Tags used for indexing waypoints
Waypoints -> Tours [ICSE2007] Notion of  user-defined trails  was also proposed by Vannevar Bush for Memex (Bush, 1945) Use cases  for source code tours: Code review, education, testing, debugging…
Dynamic Interactive Views For Reverse Engineering Uses Dynamic Analysis to Create Trace-Focused User Interfaces for IDEs
Diver:
Choosel open source   framework for creating  web -based  visualization environments  with multiple coordinated views Try out Choosel at: http://choosel-mashups.appspot.com
“ each software project is a live performance” www.jazz.net
“ each software project is a live performance”
Other exciting research! Many other specialized visualization, exploration tools… tools for analytics…  Software cartography (Adrian Kuhn et al.) Software Canvas (Rob Deline et al.) Code bubbles (Andrew Bragdon et al.) Debugger Canvas http://www.youtube.com/watch?v=3p9XUwIlhJg
Some advice… (1) Eat your own cooking You need to feel the pain that your tool helps resolve You also need to feel the pain of using your own tool But don’t assume that this will be enough! adoption is hard!
Some advice… (2) Focus on continuous need for comprehension rather than just the software immigrant…  Nowadays easy to ask people for advice (e.g. StackOverFlow…)… Can’t visualize what you don’t have yet!
Some advice… (3) Does your tool really answer difficult questions that developers really care about?  How do you know? Theories or insights!
Theories are littering the landscape! Cognitive dimensions (Green and Petre) Cognitive framework of design elements (Storey) Cognitive support (Walenstein) Pacione’s software visualization task model Ko’s theory of navigation Sillito, Murphy, Robillard… theories on navigation and questions programmers ask And more… Look in other disciplines!
Comprehension theories Top-down  comprehension model  [Brooks, Soloway, Ehrlich, 1986] Bottom-up  comprehension  [Shneiderman/Mayer 1979, Pennington 1987] Opportunistic  and  systematic  strategies  [Littman  et al. , Letovsky 1987] Integrated meta-model [Vans, von Mayrhauser 1995]
Some advice… (4) Understand different  research method limitations Be informed Write fewer but  better papers !  Fake it ! “A Rational Research Process, How and Why to Fake it”
Concluding thought:  Accident or essence? Probably accidental…. Essential complexity may still remain but cognitive support can help us deal more effectively with that inherent complexity Software visualization declining in popularity as a topic but not as a solution
Takeaways Layouts not that important, but the mental map is Need to integrate in the IDE with good support Can’t visualize what you don’t have Importance of theories, eating your own cooking Consider different research methodologies Cognitive support  will never be out of fashion
Contact me Email:  [email_address] Blog:  http://margaretannestorey.wordpress.com/   Twitter: @margaretstorey, @web2se Papers, tools:  http://www.thechiselgroup.org
References (1) David Harel. 1988. On visual formalisms. Commun. ACM 31, 5 (May 1988), 514-530. DOI=10.1145/42411.42414  http://doi.acm.org/10.1145/42411.42414 Benjamin B. Bederson and James D. Hollan. 1994. Pad++: a zooming graphical interface for exploring alternate interface physics. In Proceedings of the 7th annual ACM symposium on User interface software and technology (UIST '94). ACM, New York, NY, USA, 17-26. DOI=10.1145/192426.192435  http://doi.acm.org/10.1145/192426.192435   Lyn Bartram, Albert Ho, John Dill, and Frank Henigman. 1995. The continuous zoom: a constrained fisheye technique for viewing and navigating large information spaces. In  Proceedings of the 8th annual ACM symposium on User interface and software technology (UIST '95). ACM, New York, NY, USA, 207-215. DOI=10.1145/215585.215977  http://doi.acm.org/10.1145/215585.215977
References (2) Mental imagery in Program Design and Visual Programming, by M. Petre and A. Blackwell,  http://www.cl.cam.ac.uk/~afb21/publications/IJHCS.html   Price et al’s principled taxonomy of software visualization:  http://www.dgp.toronto.edu/people/RMB/papers/p20.pdf   Cognitive questions in software visualization:  http://www.cl.cam.ac.uk/~afb21/publications/book-chapter.html   Research methods in the social Sciences, by J. McGrath,  http://social.cs.uiuc.edu/class/cs598kgk/papers/methodology-mcgrath.pdf   Pacione, M.J., Roper, M.,  and Wood, M.  A Novel Software Visualisation Model to Support Software Comprehension.  In Proceedings of WCRE. 2004, 70-79.  Andrew Bragdon, et al.: Code bubbles: a working set-based interface for code understanding and maintenance. CHI 2010: 2503-2512
References (3) A Cognitive Framework by Storey  et al :  http://www.cs.uvic.ca/~mstorey/papers/jss.pdf   Margaret-Anne Storey, Hausi A. Müller, "Manipulating and documenting software structures using SHriMP views", International Conference on Software Maintenance (ICSM '95) (ICSM), 1995 Rob Lintern, Jeff Michaud, Margaret-Anne Storey, Xiaomin Wu, "Plugging-in Visualization: Experiences Integrating a Visualization Tool with Eclipse", 2003 ACM symposium on Software visualization, 2003 Theories, Methods and Tools in Program Comprehension:  Past, Present and Future, M.-A. Storey, IWPC 2005 (also SCP 2006) Cognitive Support in Software Engineering Tools: A Distributed Cognition FrameworkA Walenstein – 2002. S. Easterbrook, J. Singer, M.-A. Storey and D. Damian, Selecting Empirical Methods, http://www.cs.toronto.edu/~sme/papers/2007/SelectingEmpiricalMethods.pdf
References (4) Margaret-Anne Storey, Li-Te Cheng, Peter C. Rigby, R. Ian Bull, "Shared Waypoints and Social Tagging to Support Collaboration in Software Development", CSCW 2006: ACM Computer Supported Cooperative Work (CSCW), 2006 Margaret-Anne Storey, Li-Te Cheng, Janice Singer, M. Muller, Del Myers, Jody Ryall, "How Programmers can Turn Comments into Waypoints for Code Navigation", International Conference on Software Maintenance (ICSM), 2007 Li-Te Cheng, Michael Desmond, Margaret-Anne Storey "Presentations by Programmers for Programmers", 29th International Conference on Software Engineering (ICSE), 2007

More Related Content

Icpc 2011 storey

  • 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.
  • 2. The storyline History of SHriMP Views What inspired it Lessons learned along the way (tools and studies) How the tool and underlying theory evolved Our follow-on work to SHriMP Other visualizations that show promise for the near future Some advice for researchers
  • 3. Acknowledgements…. My students and former colleagues: Hausi Muller Kenny Wong Casey Best Jeff Michaud Rob Lintern Ian Bull Chris Callendar Del Myers … Funding: NSERC University of Victoria IBM Darpa Stanford University MIT NASA DRDC Susan Sim, Filippo Ricci and other members of the committee for selecting this paper
  • 4.  
  • 5. 10 years ago….. Year 2000 bug was still fresh in our memories! PCs around for 20 years eCommerce was on the rise Integration, migration, interoperability (legacy code)
  • 6. Many visualization tools Rigi , PECAN, Seesoft Landscape views, Hy+ Surgeon’s Assistant Bauhaus … .. … .. … .. Imagix 4D Sotograph Polymetric views
  • 7. What about Fred Brooks???
  • 8. Fred Brooks misquoted… He claims software is inherently invisible and unvisualizable… not amenable to a geometric mapping… But are software code, designs, documentation, invisible? His quote referred to PhDs on visual programming! Not to visualization of preexisting software artifacts…. No silver bullet: Essence and accidents of software engineering, 1987 IEEE Computer
  • 9. Information visualization People have used external aids for centuries to amplify cognition (e.g. paper, slide rule, diagrams, charts) Visualize: to form a mental image or vision The use of computer supported, interactive, visual representations of abstract data can amplify cognition Visualizations can help us gain insight about data
  • 10. Other trends… Higraphs in software engineering [David Harel, 1988] Pad++, a zoomable user interface [Bederson et al., 1994] Continuous Zoom [Bartram et al., 1995]
  • 11. SHriMP – A Software Exploration Tool S imple H ierarchical M ulti- P erspective Views (for Rigi): Make better use of limited screen area Leveraging sophisticated animation and layout, fisheye view features [ICSM 1995]
  • 12.  
  • 13. Lessons #1 Evaluated early version of SHriMP and compared it to Command Line and Rigi (multiple windows) [WCRE 1996] “ Source code is king” (Janice Singer) Search is an essential activity in program comprehension (Lethbridge, Singer) Fisheye views not so useful! Efficiency was a concern
  • 14. Comprehension theories Top-down comprehension model [Brooks, Soloway, Ehrlich, 1986] Bottom-up comprehension [Shneiderman/Mayer 1979, Pennington 1987] Opportunistic and systematic strategies [Littman et al. , Letovsky 1987] Integrated meta-model [Vans, von Mayrhauser 1995] Hypermedia navigation (coherence, legibility) [e.g. Thurston et al. ]
  • 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
  • 17. SHriMP – A Software Exploration Tool S imple H ierarchical M ulti- P erspective Views (for Rigi): Make better use of limited screen area Leveraging sophisticated animation and layout features Integrate code browsing using hypertext (HTML objects) embedded in the graph Using nested graphs (containment) and ZUIs Support for top down and bottom up navigation Integrated search, source code views
  • 18. Almost 10 year old demo!
  • 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?
  • 20. Lessons #2 Compared SHriMP with Rigi and SNiFF++ [WCRE 1997] Overviews in Rigi and SHriMP communicated a mental map Opportunistic sightseeing behaviours observed in SHriMP Need for better searching and filtering tools in SHriMP Layouts not so important (but preserving mental map is) Align with the tools developers use (reduce friction ) “ Star programmers ” can use any tool
  • 21. Creole: Integration of SHriMP with Eclipse 2007 Demo …
  • 22. Recap on noteworthy features Filmstrip – semantic bookmarks (snapshots) Scripting (javascript) Customized views On demand visualization
  • 23. Beyond software visualization…. Ontologies in Protégé, Jambalaya (Darpa, Stanford University) Version control information, Xia Business flow diagrams, Ebi (IBM) Assembly (DND)
  • 24. Lessons learned #3 Need for on-demand task driven visualization as opposed to overviews… Customization required but very few users will write scripts (unless it is easy to do so!) Source code should be editable … Need to be able to play with the invisible stuff… Executing the program is important (duh…)
  • 25. Lessons learned about empirical studies Need for an underlying theory ! Otherwise you only know one tool is better than another not why… Not enough to say my users liked it or that they used it or that they answered questions they hadn’t actually thought of before they saw my tool! Student programmers are *not* the same as prof devs Statistical significance is not the holy grail (too many controls), strive to be convinced (but convincing reviewers is harder) Understand the different tradeoffs of empirical studies and choose wisely and purposefully [McGrath94, Easterbrook2007]
  • 29. Waypoints and metadata Used by geographical positioning systems ( GPS ) to save locations for future navigation They can be entered explicitly by entering lat/long coordinates or during navigation They have metadata
  • 30. TagSEA [CHI2006, ICSM2007] Can waypoint in code, outside code, docs, xml, breakpoints, url etc. Tags used for indexing waypoints
  • 31. Waypoints -> Tours [ICSE2007] Notion of user-defined trails was also proposed by Vannevar Bush for Memex (Bush, 1945) Use cases for source code tours: Code review, education, testing, debugging…
  • 32. Dynamic Interactive Views For Reverse Engineering Uses Dynamic Analysis to Create Trace-Focused User Interfaces for IDEs
  • 34. Choosel open source framework for creating web -based visualization environments with multiple coordinated views Try out Choosel at: http://choosel-mashups.appspot.com
  • 35. “ each software project is a live performance” www.jazz.net
  • 36. “ each software project is a live performance”
  • 37. Other exciting research! Many other specialized visualization, exploration tools… tools for analytics… Software cartography (Adrian Kuhn et al.) Software Canvas (Rob Deline et al.) Code bubbles (Andrew Bragdon et al.) Debugger Canvas http://www.youtube.com/watch?v=3p9XUwIlhJg
  • 38. Some advice… (1) Eat your own cooking You need to feel the pain that your tool helps resolve You also need to feel the pain of using your own tool But don’t assume that this will be enough! adoption is hard!
  • 39. Some advice… (2) Focus on continuous need for comprehension rather than just the software immigrant… Nowadays easy to ask people for advice (e.g. StackOverFlow…)… Can’t visualize what you don’t have yet!
  • 40. Some advice… (3) Does your tool really answer difficult questions that developers really care about? How do you know? Theories or insights!
  • 41. Theories are littering the landscape! Cognitive dimensions (Green and Petre) Cognitive framework of design elements (Storey) Cognitive support (Walenstein) Pacione’s software visualization task model Ko’s theory of navigation Sillito, Murphy, Robillard… theories on navigation and questions programmers ask And more… Look in other disciplines!
  • 42. Comprehension theories Top-down comprehension model [Brooks, Soloway, Ehrlich, 1986] Bottom-up comprehension [Shneiderman/Mayer 1979, Pennington 1987] Opportunistic and systematic strategies [Littman et al. , Letovsky 1987] Integrated meta-model [Vans, von Mayrhauser 1995]
  • 43. Some advice… (4) Understand different research method limitations Be informed Write fewer but better papers ! Fake it ! “A Rational Research Process, How and Why to Fake it”
  • 44. Concluding thought: Accident or essence? Probably accidental…. Essential complexity may still remain but cognitive support can help us deal more effectively with that inherent complexity Software visualization declining in popularity as a topic but not as a solution
  • 45. Takeaways Layouts not that important, but the mental map is Need to integrate in the IDE with good support Can’t visualize what you don’t have Importance of theories, eating your own cooking Consider different research methodologies Cognitive support will never be out of fashion
  • 46. Contact me Email: [email_address] Blog: http://margaretannestorey.wordpress.com/ Twitter: @margaretstorey, @web2se Papers, tools: http://www.thechiselgroup.org
  • 47. References (1) David Harel. 1988. On visual formalisms. Commun. ACM 31, 5 (May 1988), 514-530. DOI=10.1145/42411.42414 http://doi.acm.org/10.1145/42411.42414 Benjamin B. Bederson and James D. Hollan. 1994. Pad++: a zooming graphical interface for exploring alternate interface physics. In Proceedings of the 7th annual ACM symposium on User interface software and technology (UIST '94). ACM, New York, NY, USA, 17-26. DOI=10.1145/192426.192435 http://doi.acm.org/10.1145/192426.192435 Lyn Bartram, Albert Ho, John Dill, and Frank Henigman. 1995. The continuous zoom: a constrained fisheye technique for viewing and navigating large information spaces. In Proceedings of the 8th annual ACM symposium on User interface and software technology (UIST '95). ACM, New York, NY, USA, 207-215. DOI=10.1145/215585.215977 http://doi.acm.org/10.1145/215585.215977
  • 48. References (2) Mental imagery in Program Design and Visual Programming, by M. Petre and A. Blackwell, http://www.cl.cam.ac.uk/~afb21/publications/IJHCS.html Price et al’s principled taxonomy of software visualization: http://www.dgp.toronto.edu/people/RMB/papers/p20.pdf Cognitive questions in software visualization: http://www.cl.cam.ac.uk/~afb21/publications/book-chapter.html Research methods in the social Sciences, by J. McGrath, http://social.cs.uiuc.edu/class/cs598kgk/papers/methodology-mcgrath.pdf Pacione, M.J., Roper, M., and Wood, M. A Novel Software Visualisation Model to Support Software Comprehension.  In Proceedings of WCRE. 2004, 70-79. Andrew Bragdon, et al.: Code bubbles: a working set-based interface for code understanding and maintenance. CHI 2010: 2503-2512
  • 49. References (3) A Cognitive Framework by Storey et al : http://www.cs.uvic.ca/~mstorey/papers/jss.pdf Margaret-Anne Storey, Hausi A. Müller, "Manipulating and documenting software structures using SHriMP views", International Conference on Software Maintenance (ICSM '95) (ICSM), 1995 Rob Lintern, Jeff Michaud, Margaret-Anne Storey, Xiaomin Wu, "Plugging-in Visualization: Experiences Integrating a Visualization Tool with Eclipse", 2003 ACM symposium on Software visualization, 2003 Theories, Methods and Tools in Program Comprehension: Past, Present and Future, M.-A. Storey, IWPC 2005 (also SCP 2006) Cognitive Support in Software Engineering Tools: A Distributed Cognition FrameworkA Walenstein – 2002. S. Easterbrook, J. Singer, M.-A. Storey and D. Damian, Selecting Empirical Methods, http://www.cs.toronto.edu/~sme/papers/2007/SelectingEmpiricalMethods.pdf
  • 50. References (4) Margaret-Anne Storey, Li-Te Cheng, Peter C. Rigby, R. Ian Bull, "Shared Waypoints and Social Tagging to Support Collaboration in Software Development", CSCW 2006: ACM Computer Supported Cooperative Work (CSCW), 2006 Margaret-Anne Storey, Li-Te Cheng, Janice Singer, M. Muller, Del Myers, Jody Ryall, "How Programmers can Turn Comments into Waypoints for Code Navigation", International Conference on Software Maintenance (ICSM), 2007 Li-Te Cheng, Michael Desmond, Margaret-Anne Storey "Presentations by Programmers for Programmers", 29th International Conference on Software Engineering (ICSE), 2007

Editor's Notes

  1. 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,
  2. Demoed with transparencies at ICSM 1995!
  3. 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.
  4. Could skip
  5. (it is easy for them to say they like your tool or that they will use it!)
  6. 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)
  7. Hierarchical tags... A lot of tool support for authoring and managing them. Adopted by some developers and used extensively for documenting
  8. “ The web is our inspiration” developing software in a team is like playing an instrument in a band require balance of collaboration and virtuosity
  9. require balance of collaboration and virtuosity
  10. established
  11. Read more before you build or evaluate anything! Conduct a careful literature review and don’t be afraid to email the authors