The Shapes of Abstraction in Data Structure Diagrams
Devamardeep Hayatpur, Brian Hempel, Richard Lin, Haijun Xia
摘要
Tools to inspect runtime state, like print statements and debuggers, are an essential part of programming. Yet, a major limitation is that they present data at a fixed, low level of abstraction which can overload the user with irrelevant details. In contrast, human drawings of data structures use many illustrative visual abstractions to show the most useful information. We attempt to bridge the gap by surveying 80 programmer-produced diagrams to develop a mechanical approach for capturing visual abstraction, termed abstraction moves. An abstraction move selects data objects of interest, and then revisualizes, simplifies, or annotates them. We implement these moves as a diagramming language for JavaScript code, named Chisel, and show that it can effectively reproduce 78 out of the 80 surveyed diagrams. In a preliminary study with four CS educators, we evaluate its usage and discover potential contexts of use. Our approach of mechanically moving between levels of abstraction in data displays opens the doors to new tools and workflows in programming education and software development.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- PaperBridge: Crafting Research Narratives through Human-AI Co-ExplorationRunhua Zhang, Yang Ouyang, Leixian Shen, Yuying Tang 等UIST 2025 · 被引用 3 次
- How Notations Evolve: A Historical Analysis with Implications for Supporting User-Defined AbstractionsJingyue Zhang, J. D. Zamfirescu-Pereira, Elena L. Glassman, Damien Masson 等CHI 2026 · 被引用 2 次
- Staring at Tables: Exploring Conceptual Data Modeling as a Rich Collaborative ActivityLaura Koesten, Daphne Miedema, Hsiang-Yun Wu, Mathias FunkCHI 2026 · 被引用 1 次
它引用的顶会 Paper6
- Penrose: from mathematical notation to beautiful diagramsKatherine Ye, Wode Ni, Max Krieger, Dor Ma'ayan 等SIGGRAPH 2020 · 被引用 53 次
- Projection Boxes: On-the-fly Reconfigurable Visualization for Live ProgrammingSorin LernerCHI 2020 · 被引用 52 次
- Math Augmentation: How Authors Enhance the Readability of Formulas using Novel Visual Design PracticesAndrew Head, Amber Xie, Marti A. HearstCHI 2022 · 被引用 27 次
- CrossCode: Multi-level Visualization of Program ExecutionDevamardeep Hayatpur, Daniel Wigdor, Haijun XiaCHI 2023 · 被引用 23 次
- How Domain Experts Create Conceptual Diagrams and Implications for Tool DesignDor Ma'ayan, Wode Ni, Katherine Ye, Chinmay Kulkarni 等CHI 2020 · 被引用 19 次
相关 Paper
- Taking ASCII Drawings Seriously: How Programmers Diagram CodeDevamardeep Hayatpur, Brian Hempel, Kathy Chen, William Duan 等CHI 2024 · 被引用 7 次
- Supporting Visual Artists in Programming through Direct Inspection and Control of Program ExecutionJingyi Li, Joel Brandt, Radomír Mech, Maneesh Agrawala 等CHI 2020 · 被引用 30 次
- Effective Program Debloating via Reinforcement LearningKihong Heo, Woosuk Lee, Pardis Pashakhanloo, Mayur NaikCCS 2018 · 被引用 175 次
- Nonvisual Support for Understanding and Reasoning about Data StructuresBrianna L. Wimer, Ritesh Kanchi, Kaija Frierson, Venkatesh Potluri 等CHI 2026 · 被引用 2 次
- Diagramming Program Values by Spatial RefinementSiddhartha Prasad, Michael Tu, Karan Kashyap, Tim Nelson 等PLDI 2026
