Academia.eduAcademia.edu

Outline

How can diagramming tools help support programming activities?

2008

Abstract

Programmers often draw diagrams on whiteboards or on paper. To enable programmers to use such diagrams in the context of their programming environment, many tools have been built. Despite the existence and availability of such tools, many programmers continue to work predominantly with textual descriptions of source code. In this paper, we report on an exploratory study we conducted to investigate what kind of diagrammatic tool support is desired by programmers, if any. The study involved 19 professional programmers working at three different companies. The study participants desired a wide range of information content in diagrams and wanted the content to be sensitive to particular contexts of use. Meeting these needs may require flexible, adaptive and responsive diagrammatic tool support.

References (26)

  1. B. de Alwis and G. C. Murphy, "Using Visual Momentum to Explain Disorientation in the Eclipse IDE," IEEE Symp. on Visual Languages and Human-Centric Computing (VLHCC), 2006, pp. 51-54.
  2. S. Bassil and R.K. Keller, "Software Visualization Tools: Survey and Analysis," 9th Int'l Workshop on Program Comprehension (IWPC), 2001, pp.7-17
  3. F.P. Brooks, Jr., "No Silver Bullet: Essence and Accidents of Software Engineering," Computer, 20(4):10-19, 1987.
  4. M. Cherubini, G. Venolia, R. DeLine, and A.J. Ko, "Let's Go to the Whiteboard: How and Why Software Developers Draw Code," ACM Conf. on Human Factors in Computing Systems (CHI), 2007, pp. 557-566.
  5. M. Cherubini, G. Venolia, and R. DeLine, "Building an Ecologically Valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code," IEEE Symp. on Visual Languages and Human-Centric Computing (VLHCC), 2007, pp. 157-162.
  6. E.J. Chikofsky and J.H. Cross II, "Reverse Engineering and Design Recovery: A Taxonomy," IEEE Software, 7(1):13- 17, 1990.
  7. A. Cox, M. Fisher and J. Muzzerall, "User Perspectives on a Visual Aid to Program Comprehension," Int'l Workshop on Visualizing Software for Understanding and Analysis, 2005, pp.70-75.
  8. A. Cox, M. Fisher and P. O'Brien, "Theoretical Considerations on Navigating Codespace with Spatial Cognition," 17th Workshop of the Psychology of Programming Interest Group, 2005, pp. 92-105.
  9. M.T. Dishaw and D.M. Strong, "Supporting Software Maintenance with Software Engineering Tools: a Computed Task-Technology Fit Analysis," Journal of Systems and Software, 44(2): 107-120, 1998.
  10. M. Eichberg, M. Haupt, M. Mezini and T. Schafer, "Comprehensive Software Understanding with SEXTANT," 21st IEEE Int'l Conf. on Software Maintenance (ICSM), 2005, pp. 315-324.
  11. J. Grundy and J. Hosking, "Supporting Generic Sketching- Based Input of Diagrams in a Domain-Specific Visual Language Meta-Tool," 29th Int'l Conf. on Software Engineering (ICSE), 2007, pp. 282-291.
  12. I. Hadar and O. Hazzan, "On the Contribution of UML Diagrams to Software System Comprehension," Journal of Object Technology, 3(1):143-156, 2004.
  13. T. Hendrix, J. Cross II, S. Maghsoodloo and M. McKinney, "Do Visualizations Improve Program Comprehensibility? Experiments with Control Structure Diagrams for Java," 31st SIGCSE Technical Symp. on Computer Science Education, 2000, pp. 382-386.
  14. H.M. Kienle, and H.A. Müller, "Requirements of Software Visualization Tools: A Literature Survey," 4th IEEE Int'l Workshop on Visualizing Software for Understanding and Analysis (VISSOFT), 2007, pp.2-9.
  15. A.J. Ko, R. DeLine and G. Venolia, "Information Needs in Collocated Software Development Teams," Int'l Conf. on Software Engineering (ICSE), 2007, pp. 344-353.
  16. R. Koschke, "Software Visualization in Software Maintenance, Reverse Engineering, and Reengineering: A Research Survey," Journal on Software Maintenance and Evolution, 15(2):87-109, 2003.
  17. T.D. LaToza, G. Venolia and R. DeLine, "Maintaining Mental Models: a Study of Developer Work Habits," 28th Int'l Conf. on Software Engineering (ICSE), 2006, pp. 492- 501.
  18. A. Von Mayrhauser, A.M. Vans, "Program Comprehension during Software Maintenance and Evolution," Computer, 28(8):44-55, 1995.
  19. M. Petre, A. Blackwell and T. Green, "Cognitive Questions in Software Visualization," Software Visualization: Programming as a Multi-Media Experience, MIT Press, 1997, pp. 453-480.
  20. S. Reiss, "The Paradox of Software Visualization," 3rd IEEE Int'l Workshop on Visualizing Software for Understanding and Analysis (VISSOFT), 2005, pp. 59-63.
  21. V. Sinha, D. Karger and R. Miller, "Relo: Helping Users Manage Context during Interactive Exploratory Visualization of Large Codebases," IEEE Symp. on Visual Languages and Human-Centric Computing (VL/HCC'06), 2006, pp. 187-194.
  22. M.-A.D. Storey, "Theories, Methods and Tools in Program Comprehension: Past, Present and Future," 13th International Workshop on Program Comprehension (IWPC), 2005, pp.181-191.
  23. M.-A.D. Storey, H.A. Müller, "Manipulating and Documenting Software Structures Using SHriMP Views," 11th Int'l Conf. on Software Maintenance (ICSM), 1995, p.275.
  24. M.-A.D. Storey, F. Fracchia and H. Müllecr, "Cognitive Design Elements to Support the Construction of a Mental Model during Software Visualization," 5th Int'l Workshop on Program Comprehension (IWPC), 1997, pp. 17-28.
  25. S. Tilley and S. Huang, "A Qualitative Assessment of the Efficacy of UML Diagrams as a Form of Graphical Documentation in Aiding Program Understanding," 21st Annual Int'l Conf. on Documentation, 2003, pp.184-191.
  26. I. Zayour and T.C. Lethbridge, "A Cognitive and User Centric based Approach for Reverse Engineering Tool Design," 2000 conference of the Centre for Advanced Studies on Collaborative Research, 2000, pp.16-30.