This post highlights some aspects of the SoftVis 2010 symposium.
The 5th ACM Symposium on Software Visualization (SoftVis) was held in Salt Lake City, Utah, 25-26 October 2010 and co-located with the IEEE VisWeek which includes InfoVis, Vis, and VAST. Alex Telea was General Chair, and Carsten Georg and Steve Reiss were the Program Chairs. 55 full papers were submitted and 20 were accepted, which yields a 36% acceptance rate. In addition 9 posters and 3 tool demos were presented. The SoftVis 2010 Proceedings are available in the ACM Digital Library.
- An Interactive Ambient Visualization for Code Smells, by Emerson Murphy-Hill and Andrew P. Black.
- Off-Screen Visualization Techniques for Class Diagrams, by Mathias Frisch and Raimund Dachselt.
one award for the best poster:
- TIE: An Interactive Visualization of Thread Interleavings, by Gowritharan Maheswara, Jeremy S. Bradbury, Christopher Collins
3. Invited Speakers
There were two invited speakers. The main theme behind both presentations were that software visualization is not widely adopted within industry and both proposed ideas to work on to help improve this research area.
3.1 Keynote Presentation – Arie van Deursen
The keynote began with reflections on his software visualization work from the past 10 years. Some of his observations included:
- My visualizations leave room for improvement …
- Some very cool results are never applied.
- Software visualizations in context can be successful.
- Simpler might be more effective.
- What is our perspective on evaluation?
Then he went on to say that as a field that we should be following a qualitative research approach to software engineering and software visualization. This kind of approach has been very successful within the social sciences. Arie points out John Creswell’s book Qualitative Inquiry and Research Design: Choosing Among Five Approaches.
Arie next covered his work in reverse engineering spreadsheets to extract class diagrams. This work is related to the EUSES consortium which aims at helping end-users with software. This work also involved a series of qualitative interviews asking users how effective they found the visualization techniques and some user experiments. Most of the users found the visualizations useful but there were some usability issues. Although this work was related it was probably of more interest to the VLHCC community.
The keynote ended with some thoughts on how to improve software visualization research and ideas for conducting research in this area:
- What are the current research methods and tools (Evaluation of software visualization tools: Lessons learned by Mariam Sensalire, Patrick Ogao, Alex Telea, VISSOFT 2009)
- Engage with users first (understand existing way of working, identify problems, embed solutions)
- Software = Peopleware (evaluations are qualitative, incomplete and subjective; at which case evidence for the area and techniques must grow and be criticized)
- Visualization = Communication (beyond individuals, we must evaluate team interaction and how they collaborate together)
- Support end user programming with visualizations of the software
- If you have time start a company on the side
3.2 Capstone Presentation – Grady Booch
Grady Booch (IBM Research) gave the Capstone Presentation on Why Don’t Developers Draw Diagrams (Slides PDF 3MB). Grady gave his presentation in SecondLife. People nicknamed him “RoboBrady” since his SecondLife avatar made him look much younger and stronger. Before he began Grady said one nice thing about SecondLife, “in virtual worlds we can control the Sun.” The talk was very entertaining and filled with wonderful quotes (thanks to Adrian Kuhn for recording some of these).
The keynote centered around that most developers are mainly in a textual world and have no desire for the visual dimension except occasionally a few diagrams with some dubious semantics.
We never intended UML to be used as programming language! It’s maybe funny that I say this as inventor of UML, but most diagrams I want to see once & then throw away.
To answer the question of why developers don’t draw diagrams:
Developers (for the most part) don’t draw diagrams because they (the diagrams, that is) rarely offer any fundamental value that advances their (the developers, that is) essential work.
to elaborate further:
Developers don’t draw diagrams because the primary product is raw, running, naked code, not diagrams! Diagrams and code have an uneasy relationship that quickly drifts into oblivion and usually ends in tears.
Grady claimed that software visualization research has created some great ideas but there is a lack of adoption by the software development industry. Grady proposed some ideas on how to narrow this gap to attend to the pain points of developers. Grady claims:
We’ve largely mastered the software visualization technique. But there’s been an emphasis on easy eye candy. And so we need to return to the basics of why we model and seek visualizations that are actionable.
and some visualization examples that are actionable include:
Go do sociological studies and visualize the people that do software development.
How can we capture design decisions and show how they manifest? same for triggers of complexity.
What are the kind of visualizations that a developer or architect could take with them on an iPad like a whiteboard?
To wrap the talk up Grady proposed some
Grand Challenges for Software Visualization:
- How can I visualize any of the points of friction?
- How can I model any of the triggers of complexity?
- How can I visualize multiple interlocking architectural views?
- How can I highlight/discover the patterns in a system?
- What can I learn from visualizing the views of a system’s architecture overlaid with the architecture of the organization?
- How might I use an iPad as an architect’s workbench?
- Combine Terminator vision with Minority Report Interaction. Wash. Rinse. Repeat.
and concluded the talk with a final quote:
Give me a whiteboard and a place to stand and I can model the world.
4. Paper Highlights
In addition to the two ACM Distinguished Papers there were a number of papers that I enjoyed listening to.
- Chris Parnin described his CodePad tool and how developers might use this technique on touch screens and iPads, and perhaps in the future multi-touch surfaces. CodePad: Interactive Spaces for Maintaining Concentration in Programming Environments, by Chris Parnin, Carsten Georg, Spencer Rugaber.
- Michael Ogawa presented his next softvis project after code_swarm called Software Evolution Storylines which reminded me of the research around metro maps. Software Evolution Storylines, by Michael Ogawa, Kwan-Liu Ma.
- Wim De Pauw presented his latest project Zinsight which visualizes traces from IBM System z which are mainframe computers. Zinsight: A Visual and Analytic Environment for Exploring Large Event Traces, by Wim De Pauw, Steve Heisig.
- Adrian Kuhn presented his work on software cartography. Embedding Spatial Software Visualization in the IDE: An Exploratory Study, by Adrian Kuhn, David Erni, Oscar Nierstrasz.
- Visual Comparison of Software Architectures, by Fabian Beck and Stephan Diehl.
- Representing Development History in Software Cities, by Frank Steinbruckner, Claus Lewerentz.
- Trevis: a context tree visualization & analysis framework and its use for classifying performance failure reports, by Andrea Adamoli, Matthias Hauswirth.
My research group also had a couple of papers at SoftVis 2010:
- User evaluation of polymetric views using a large visualization wall, by Craig Anslow, Stuart Marshall, James Noble, Ewan Tempero, Robert Biddle.
- Exploring the inventor’s paradox: applying jigsaw to software visualization, by Haowei Ruan, Craig Anslow, Stuart Marshall, James Noble.
Other papers and posters are located in the ACM SoftVis 2010 Proceedings.
- Gource: visualizing software version control history.
- Original version presented at Onward! on Vimeo: Gource: Visualizing Software Version Control History.
and an earlier version of the film on YouTube: