Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
149 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Anteater: Interactive Visualization of Program Execution Values in Context (1907.02872v4)

Published 5 Jul 2019 in cs.HC and cs.SE

Abstract: Debugging is famously one the hardest parts in programming. In this paper, we tackle the question: what does a debugging environment look like when we take interactive visualization as a central design principle? We introduce Anteater, an interactive visualization system for tracing and exploring the execution of Python programs. Existing systems often have visualization components built on top of an existing infrastructure. In contrast, Anteater's organization of trace data enables an intermediate representation which can be leveraged to automatically synthesize a variety of visualizations and interactions. These interactive visualizations help with tasks such as discovering important structures in the execution and understanding and debugging unexpected behaviors. To assess the utility of Anteater, we conducted a participant study where programmers completed tasks on their own python programs using Anteater. Finally, we discuss limitations and where further research is needed.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (49)
  1. Developers ask reachability questions. In Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering-Volume 1. ACM, pp. 185–194.
  2. Challenges in program comprehension. Softwaretechnik-Trends 2012; 32(2): 19–20.
  3. Bertin J. Semiology of Graphics: Diagrams, Networks, Maps. UMI Research Press, 1983. ISBN 9780835735322. URL https://books.google.com/books?id=OJu8bwAACAAJ.
  4. Carpendale MST. Considering visual variables as a basis for information visualisation, 2003. DOI:10.11575/PRISM/10182. URL https://prism.ucalgary.ca/handle/1880/45758.
  5. Shneiderman B. The eyes have it: A task by data type taxonomy for information visualizations. In The Craft of Information Visualization. Elsevier, 2003. pp. 364–371.
  6. Munzner T. Visualization analysis and design. AK Peters/CRC Press, 2014.
  7. Lam H, Tory M and Munzner T. Bridging from goals to tasks with design study analysis reports. IEEE transactions on visualization and computer graphics 2018; 24(1): 435–445.
  8. Omnicode: A novice-oriented live programming environment with always-on run-time value visualizations. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology. ACM, pp. 737–745.
  9. Borkholder B. Mirur, 2014. https://mirur.io, last visited on 2020-04-30.
  10. Methodology and architecture of jive. In Proceedings of the 2005 ACM Symposium on Software Visualization. SoftVis ’05, New York, NY, USA: ACM. ISBN 1-59593-073-6, pp. 95–104. DOI:10.1145/1056018.1056032. URL http://doi.acm.org/10.1145/1056018.1056032.
  11. Reiss SP. The challenge of helping the programmer during debugging. In 2014 Second IEEE Working Conference on Software Visualization. pp. 112–116. DOI:10.1109/VISSOFT.2014.27.
  12. Templated visualization of object state with vebugger. In 2014 Second IEEE Working Conference on Software Visualization. IEEE, pp. 107–111.
  13. Toward arbitrary mapping for debugging visualizations. In Proceedings of the 38th International Conference on Software Engineering Companion. ICSE ’16, New York, NY, USA: ACM. ISBN 978-1-4503-4205-6, pp. 605–608. DOI:10.1145/2889160.2889167. URL http://doi.acm.org/10.1145/2889160.2889167.
  14. Heapviz: Interactive heap visualization for program understanding and debugging. In Proceedings of the 5th International Symposium on Software Visualization. SOFTVIS, New York, NY, USA: ACM. ISBN 978-1-4503-0028-5, pp. 53–62. DOI:10.1145/1879211.1879222.
  15. A tool for visualizing the execution of programs and stack traces especially suited for novice programmers. arXiv preprint arXiv:171111377 2017; .
  16. 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, New York, NY, USA: ACM. ISBN 978-1-60558-112-5, pp. 47–56. DOI:10.1145/1409720.1409729. URL http://doi.acm.org/10.1145/1409720.1409729.
  17. Bezemer CP, Pouwelse J and Gregg B. Understanding software performance regressions using differential flame graphs. In IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering. SANER, pp. 535–539. DOI:10.1109/SANER.2015.7081872.
  18. Visual exploration of memory traces and call stacks. In 2017 IEEE Working Conference on Software Visualization (VISSOFT). IEEE, pp. 54–63.
  19. Karran B, Trümper J and Döllner J. Synctrace: Visual thread-interplay analysis. In Proceedings of the 1st Working Conference on Software Visualization. VISSOFT, IEEE Computer Society, p. 10. DOI:10.1109/VISSOFT.2013.6650534.
  20. ALMOST: Exploring program traces. In 1999 Workshop on New Paradigms in Information Visualization and Manipulation. ACM, pp. 70–77. DOI:10.1145/331770.331788.
  21. Trümper J, Bohnet J and Döllner J. Understanding complex multithreaded software systems by using trace visualization. In Proceedings of the 5th International Symposium on Software Visualization. SOFTVIS, New York, NY, USA: ACM. ISBN 978-1-4503-0028-5, pp. 133–142. DOI:10.1145/1879211.1879232.
  22. Visual tracing for the eclipse java debugger. In 2012 16th European Conference on Software Maintenance and Reengineering. IEEE, pp. 545–548.
  23. Visual monitoring of numeric variables embedded in source code. In 2013 First IEEE Working Conference on Software Visualization (VISSOFT). IEEE, pp. 1–4.
  24. Interactive record/replay for web application debugging. In Proceedings of the 26th Annual ACM Symposium on User Interface Software and Technology. UIST ’13, New York, NY, USA: ACM. ISBN 978-1-4503-2268-3, pp. 473–484. DOI:10.1145/2501988.2502050. URL http://doi.acm.org/10.1145/2501988.2502050.
  25. Hoffswell J, Satyanarayan A and Heer J. Augmenting code with in situ visualizations to aid program understanding. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. ACM, p. 532.
  26. Visually exploring object mutation. In 2016 IEEE Working Conference on Software Visualization (VISSOFT). pp. 21–25. DOI:10.1109/VISSOFT.2016.21.
  27. Hoffswell J, Satyanarayan A and Heer J. Visual debugging techniques for reactive data visualization. Comput Graph Forum 2016; 35(3): 271–280.
  28. Visuflow: A debugging environment for static analyses. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings. ICSE ’18, New York, NY, USA: ACM. ISBN 978-1-4503-5663-3, pp. 89–92. DOI:10.1145/3183440.3183470. URL http://doi.acm.org/10.1145/3183440.3183470.
  29. Bridging the gulf between code and behavior in programming. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. CHI ’95, New York, NY, USA: ACM Press/Addison-Wesley Publishing Co. ISBN 0-201-84705-1, pp. 480–486. DOI:10.1145/223904.223969. URL http://dx.doi.org/10.1145/223904.223969.
  30. Visually reasoning about system and resource behavior. In Proceedings of the 38th International Conference on Software Engineering Companion. ICSE ’16, New York, NY, USA: ACM. ISBN 978-1-4503-4205-6, pp. 601–604. DOI:10.1145/2889160.2889166. URL http://doi.acm.org/10.1145/2889160.2889166.
  31. Socha D, Bailey ML and Notkin D. Voyeur: Graphical views of parallel programs. In Proceedings of the 1988 ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging. PADD, New York, NY, USA: ACM. ISBN 0-89791-296-9, pp. 206–215. DOI:10.1145/68210.69235.
  32. Diehl S. Software visualization: visualizing the structure, behaviour, and evolution of software. Springer Science & Business Media, 2007.
  33. Software Visualization. MIT Press, 1998.
  34. Caliper: Performance introspection for hpc software stacks. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. SC ’16, Piscataway, NJ, USA: IEEE Press. ISBN 978-1-4673-8815-3, pp. 47:1–47:11. URL http://dl.acm.org/citation.cfm?id=3014904.3014967.
  35. Maletic JI, Marcus A and Collard ML. A task oriented view of software visualization. In Proceedings First International Workshop on Visualizing Software for Understanding and Analysis. IEEE, pp. 32–40.
  36. Understanding and characterizing software visualization systems. In Proceedings IEEE Workshop on Visual Languages. IEEE, pp. 3–10.
  37. Program visualization: The art of mapping programs to pictures. In Proceedings of the 14th International Conference on Software Engineering. pp. 412–420.
  38. Price BA, Baecker RM and Small IS. A principled taxonomy of software visualization. Journal of Visual Languages & Computing 1993; 4(3): 211–266.
  39. Sensalire M, Ogao P and Telea A. Classifying desirable features of software visualization tools for corrective maintenance. In Proceedings of the 4th ACM symposium on Software visualization. pp. 87–90.
  40. Coz: Finding code that counts with causal profiling. In Proceedings of the 25th Symposium on Operating Systems Principles. pp. 184–197.
  41. Vega-lite: A grammar of interactive graphics. IEEE transactions on visualization and computer graphics 2016; 23(1): 341–350.
  42. Toward a deeper understanding of the role of interaction in information visualization. IEEE Trans Vis Comput Graph 2007; 13(6): 1224–1231.
  43. Patterns for visualization evaluation. Information Visualization 2015; 14(3): 250–269.
  44. Pair analytics: Capturing reasoning processes in collaborative visual analytics. In 2011 44th Hawaii international conference on system sciences. IEEE, pp. 1–10.
  45. Pyodide. URL https://pyodide.org/.
  46. Gradient descent implementation in python returns nan. https://stackoverflow.com/questions/15211715/gradient-descent-implementation-in-python-returns-nan, 2013. Last visited on 2020-04-30.
  47. Pothier G, Tanter E and Piquer J. Scalable omniscient debugging. In Proceedings of the 22Nd Annual ACM SIGPLAN Conference on Object-oriented Programming Systems and Applications. OOPSLA ’07, New York, NY, USA: ACM. ISBN 978-1-59593-786-5, pp. 535–552. DOI:10.1145/1297027.1297067. URL http://doi.acm.org/10.1145/1297027.1297067.
  48. Godfrey P, Gryz J and Lasek P. Interactive visualization of large data sets. IEEE Transactions on Knowledge and Data Engineering 2016; 28(8): 2142–2157.
  49. Trust, but verify: Optimistic visualizations of approximate queries for exploring big data. In Proceedings of the 2017 CHI conference on human factors in computing systems. pp. 2904–2915.
Citations (4)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com