skip to main content
10.1145/3328433.3328454acmotherconferencesArticle/Chapter ViewAbstractPublication PagesprogrammingConference Proceedingsconference-collections
research-article

Draw this object: a study of debugging representations

Published:01 April 2019Publication History

ABSTRACT

Domain-specific debugging visualizations try to provide a view of a runtime object tailored to a specific domain and highlighting its important properties. The research in this area has focused mainly on the technical aspects of the creation of such views so far. However, we still lack answers to questions such as what properties of objects are considered important for these visualizations, whether all objects have an appropriate domain-specific view, or what clues could help us to construct these views fully automatically. In this paper, we describe an exploratory study where the participants were asked to inspect runtime states of objects displayed in a traditional debugger and draw ideal domain-specific views of these objects on paper. We describe interesting observations and findings obtained during this study and a preliminary taxonomy of these visualizations.

References

  1. Bilal Alsallakh, Peter Bodesinsky, Silvia Miksch, and Dorna Nasseri. 2012. Visualizing Arrays in the Eclipse Java IDE. In Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering (CSMR '12). IEEE Computer Society, Washington, DC, USA, 541--544. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sebastian Baltes and Stephan Diehl. 2014. Sketches and Diagrams in Practice. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2014). ACM, New York, NY, USA, 530--541. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andrei Chiş, Oscar Nierstrasz, Aliaksei Syrel, and Tudor Gîrba. 2015. The Moldable Inspector. In 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2015). ACM, New York, NY, USA, 44--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Andy Cockburn, Amy Karlson, and Benjamin B. Bederson. 2009. A Review of Overview+Detail, Zooming, and Focus+Context Interfaces. ACM Comput. Surv. 41, 1, Article 2 (Jan. 2009), 31 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Daniela Cruz, Mario Béron, Pedro Henriques, and Maria João Pereira. 2009. Code inspection approaches for program visualization. Acta Electrotechnica et Informatica 9, 3 (Sept. 2009), 32--42.Google ScholarGoogle Scholar
  6. Uri Dekel and James D. Herbsleb. 2007. Notation and Representation in Collaborative Object-oriented Design: An Observational Study. In Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications (OOPSLA '07). ACM, New York, NY, USA, 261--280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Paul Gestwicki and Bharat Jayaraman. 2005. Methodology and Architecture of JIVE. In Proceedings of the 2005 ACM Symposium on Software Visualization (SoftVis '05). ACM, New York, NY, USA, 95--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jane Hoffswell, Arvind Satyanarayan, and Jeffrey Heer. 2018. Augmenting Code with In Situ Visualizations to Aid Program Understanding. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (CHI '18). ACM, New York, NY, USA, Article 532, 12 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Seonah Lee, Gail C. Murphy, Thomas Fritz, and Meghan Allen. 2008. How Can Diagramming Tools Help Support Programming Activities?. In Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing (VLHCC '08). IEEE Computer Society, Washington, DC, USA, 246--249. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. John Maloney. 1995. Morphic: The Self User Interface Framework.Google ScholarGoogle Scholar
  11. Akio Oka, Hidehiko Masuhara, Tomoki Imai, and Tomoyuki Aotani. 2017. Live Data Structure Programming. In Companion to the First International Conference on the Art, Science and Engineering of Programming (Programming '17). ACM, New York, NY, USA, Article 26, 7 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Emília Pietriková and Sergej Chodarev. 2016. Towards programmer knowledge profile generation. Acta Electrotechnica et Informatica 16, 1 (April 2016), 15--19.Google ScholarGoogle ScholarCross RefCross Ref
  13. Patrick Rein, Marcel Taeumel, Robert Hirschfeld, and Michael Perscheid. 2017. Exploratory Development of Data-intensive Applications: Sampling and Streaming of Large Data Sets in Live Programming Environments. In Companion to the First International Conference on the Art, Science and Engineering of Programming (Programming '17). ACM, New York, NY, USA, Article 25, 11 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Daniel Rozenberg and Ivan Beschastnikh. 2014. Templated Visualization of Object State with Vebugger. In Proceedings of the 2014 Second IEEE Working Conference on Software Visualization (VISSOFT '14). IEEE Computer Society, Washington, DC, USA, 107--111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Johnny Saldaña. 2016. The Coding Manual for Qualitative Researchers (3rd ed.). SAGE Publishing.Google ScholarGoogle Scholar
  16. Guido Salvaneschi and Mira Mezini. 2016. Debugging Reactive Programming with Reactive Inspector. In Proceedings of the 38th International Conference on Software Engineering Companion (ICSE '16). ACM, New York, NY, USA, 728--730. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Niko Schwarz. 2011. DoodleDebug, Objects Should Sketch Themselves For Code Understanding. In 5th Workshop on Dynamic Languages and Applications (DYLA 2011).Google ScholarGoogle Scholar
  18. Matúš Sulír, Michaela Bačíková, Sergej Chodarev, and Jaroslav Porubän. 2018. Visual augmentation of source code editors: A systematic mapping study. Journal of Visual Languages & Computing 49 (Dec. 2018), 46--59.Google ScholarGoogle ScholarCross RefCross Ref
  19. Matúš Sulír and Jaroslav Porubän. 2018. Augmenting Source Code Lines with Sample Variable Values. In Proceedings of the 2018 26th IEEE/ACM International Conference on Program Comprehension (ICPC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jaishankar Sundararaman and Godmar Back. 2008. HDPV: Interactive, Faithful, In-vivo Runtime State Visualization for C/C++ and Java. In Proceedings of the 4th ACM Symposium on Software Visualization (SoftVis '08). ACM, New York, NY, USA, 47--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Marcel Taeumel, Bastian Steinert, and Robert Hirschfeld. 2012. The VIVIDE Programming Environment: Connecting Run-time Information with Programmers' System Knowledge. In Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2012). ACM, New York, NY, USA, 117--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Bret Victor. 2012. Learnable Programming. http://worrydream.com/LearnableProgramming/Google ScholarGoogle Scholar
  23. Slavomír Šimoňák. 2013. Algorithm Visualization Using the VizAlgo Platform. Acta Electrotechnica et Informatica 13, 2 (June 2013), 54--64.Google ScholarGoogle Scholar
  24. Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in Software Engineering. Springer Publishing Company, Incorporated. Google ScholarGoogle ScholarCross RefCross Ref
  25. Andreas Zeller and Dorothea Lütkehaus. 1996. DDD---A Free Graphical Front-End for UNIX Debuggers. ACM SIGPLAN Notices 31, 1 (Jan. 1996), 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Draw this object: a study of debugging representations

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        Programming '19: Companion Proceedings of the 3rd International Conference on the Art, Science, and Engineering of Programming
        April 2019
        201 pages
        ISBN:9781450362573
        DOI:10.1145/3328433

        Copyright © 2019 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 April 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader