The Shapes of Abstraction in Data Structure Diagrams

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.

Authors

Institutions

Publication Details

Published
2025-04-25
DOI
https://doi.org/10.1145/3706598.3713723
Citations
1
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
3.25

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

The Shapes of Abstraction in Data Structure Diagrams

Haijun Xia, Richard Chun-Hung Lin, Brian Hempel, Devamardeep Hayatpur
1 citations
Software Engineering Research
3.25
article

The Shapes of Abstraction in Data Structure Diagrams

Haijun Xia, Richard Chun-Hung Lin, Brian Hempel, Devamardeep Hayatpur
article en
1 citations

Abstract

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.

University of California, Los Angeles (US), University of California San Diego (US)
National Science Foundation
Openalex Percentile: Top 9%
Software Engineering Research
3.25
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

The Shapes of Abstraction in Data Structure Diagrams — Haijun Xia, Richard Chun-Hung Lin, et al. · (2025) | TGRS Research Map | TGRS