PLMar 20

Incremental Live Programming via Shortcut Memoization

arXiv:2603.1956056.7h-index: 4
Predicted impact top 15% in PL · last 90 daysOriginality Incremental advance
AI Analysis

This addresses the problem of slow feedback in live programming for programmers, but it is incremental as it builds on existing live programming systems with a novel optimization technique.

The paper tackles the computational challenge of re-executing programs in live programming systems by introducing Chordata, an incremental interpreter based on shortcut memoization that learns and applies repeated computation patterns. It achieves a speedup of 13.03× compared to baseline with a 19.97× memory overhead, with even greater speedups for smaller changes and more complex programs.

Live programming systems aim to quickly show programmers the dynamic impacts of program edits. To do so, they re-execute the program whenever it is edited, which poses a computational challenge when programs become large or complex. This has led to the need for incrementality in the implementation of live program interpreters. This paper introduces Chordata, an incremental program interpreter based on shortcut memoization, which learns repeated patterns of computation, called shortcuts, by observing executions of previous versions of a program. It can then apply these shortcuts when the same or a structurally similar program fragment is re-executed. This paper contributes a formal semantics of shortcut memoization for any language with a rewrite-based semantics, with mechanized proofs of key correctness properties. We then express a variant of the Hazel live programming system, expressed as a CEK machine, in Chordata, and develop a number of practical heuristics to learn high-value shortcuts. We evaluate the resulting system on editing traces of students solving simple programming problems. Chordata achieves a speedup of 13.03\times compared to baseline with a 19.97\times memory overhead. For smaller changes and for more complex programs, Chordata achieves even greater speedups. Furthermore, we show that Chordata is capable of providing a speedup even within a single execution, with a faster speedup on a larger input.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes