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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- John Maloney. 1995. Morphic: The Self User Interface Framework.Google Scholar
- 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 ScholarDigital Library
- Emília Pietriková and Sergej Chodarev. 2016. Towards programmer knowledge profile generation. Acta Electrotechnica et Informatica 16, 1 (April 2016), 15--19.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Johnny Saldaña. 2016. The Coding Manual for Qualitative Researchers (3rd ed.). SAGE Publishing.Google Scholar
- 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 ScholarDigital Library
- Niko Schwarz. 2011. DoodleDebug, Objects Should Sketch Themselves For Code Understanding. In 5th Workshop on Dynamic Languages and Applications (DYLA 2011).Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Bret Victor. 2012. Learnable Programming. http://worrydream.com/LearnableProgramming/Google Scholar
- Slavomír Šimoňák. 2013. Algorithm Visualization Using the VizAlgo Platform. Acta Electrotechnica et Informatica 13, 2 (June 2013), 54--64.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
Index Terms
- Draw this object: a study of debugging representations
Recommendations
View Relations: An Exploratory Study on Between-View Meta-Visualizations
NordiCHI '16: Proceedings of the 9th Nordic Conference on Human-Computer InteractionIn this paper, we explore the potential of using visual representations to support people in managing, organizing, and understanding relations between multiple visualization views. Multiple views can help people understand different facets of data and ...
Dear Pictograph: Investigating the Role of Personalization and Immersion for Consuming and Enjoying Visualizations
CHI '20: Proceedings of the 2020 CHI Conference on Human Factors in Computing SystemsMuch of the visualization literature focuses on assessment of visual representations with regard to their effectiveness for understanding data. In the present work, we instead focus on making data visualization experiences more enjoyable, to foster ...
Visualizing errors in object oriented programs
OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsWe describe the results of visualizing object oriented programs errors, and utilizing these results in the design of a set of visual queries on the runtime execution history of a program. We bring together under one coherent framework different ...
Comments