Fast Direct Manipulation Programming with Patch-Reconciliation Correspondence
This program is tentative and subject to change.
Direct manipulation programming gives users a way to write programs without directly writing code, by using the familiar GUI-style interactions they know from direct manipulation interfaces. To date, direct manipulation programming systems have relied on two core components: (1) a <i>patch</i> component, which modifies the program based on a GUI interaction, and (2) a <i>forward evaluator</i>, which executes the modified program to produce an updated program output. This architecture has worked for developing short-running programs—i.e., programs that reliably execute in <1 second—generating outputs such as SVG and HTML documents. However, direct manipulation programming has not yet been applied to long-running programs (e.g., data visualization, mapping), perhaps because executing such programs in response to every GUI interaction would mean crossing outside of interactive speeds. We propose extending direct manipulation programming to long-running programs by pairing a standard <i>patch</i> component (<b><code>patch</code></b>) with a corresponding <i>reconciliation</i> component (<b><code>recon</code></b>). <b><code>recon</code></b> directly updates the program <i>output</i> in response to a GUI interaction, obviating the need for forward evaluation.
We introduce corresponding <b><code>patch</code></b> and <b><code>recon</code></b> procedures for the domain of geospatial data visualization and prove them sound—that is, we show that the output produced by <b><code>recon</code></b> is identical to the output produced by forward-evaluating a <b><code>patch</code></b>-modified program. <b><code>recon</code></b> can operate both incrementally and in parallel with <b><code>patch</code></b>. Our implementation of our <b><code>patch</code></b>-<b><code>recon</code></b> instantiation achieves a 2.92x median reduction in interface latency compared to forward evaluation on a suite of real-world geospatial visualization tasks. Looking forward, our results suggest that <i>patch-reconciliation correspondence</i> offers a promising pathway for extending direct manipulation programming to domains involving large-scale computation.
This program is tentative and subject to change.
Thu 19 JunDisplayed time zone: Seoul change
10:30 - 12:10 | |||
10:30 20mTalk | Fast Direct Manipulation Programming with Patch-Reconciliation Correspondence PLDI Research Papers Parker Ziegler University of California at Berkeley, Justin Lubin University of California at Berkeley, Sarah E. Chasins University of California at Berkeley DOI | ||
10:50 20mTalk | An Interactive Debugger for Rust Trait Errors PLDI Research Papers DOI Pre-print | ||
11:10 20mTalk | Spineless Traversal for Layout Invalidation PLDI Research Papers Marisa Kirisame University of Utah, Tiezhi Wang Tongji University, Pavel Panchekha University of Utah DOI | ||
11:30 20mTalk | DR.FIX: Automatically Fixing Data Races at Industry Scale PLDI Research Papers Farnaz Behrang Uber Technologies, Zhizhou (Chris) Zhang Uber Technologies, Georgian-Vlad Saioc Aarhus University, Peng Liu Uber Technologies, Milind Chabbi Uber Technologies DOI | ||
11:50 20mTalk | Program Skeletons for Automated Program Translation PLDI Research Papers Bo Wang National University of Singapore, Tianyu Li National University of Singapore, Ruishi Li National University of Singapore, Umang Mathur National University of Singapore, Prateek Saxena National University of Singapore DOI Pre-print |