Schema Evolution in Interactive Programming Systems
Jonathan Edwards (Independent, USA), Tomas Petricek (Charles, University, Czechia), Tijs van der Storm (CWI, Netherlands / University of, Groningen, Netherlands), Geoffrey Litt (Ink & Switch, USA)

TL;DR
This paper explores schema evolution challenges in interactive programming systems beyond databases, proposing challenge problems and a framework to improve live programming and collaboration.
Contribution
It introduces a set of challenge problems and a layered framework for schema evolution in diverse interactive programming contexts, extending beyond traditional database scenarios.
Findings
Identifies schema evolution as a barrier to live programming and collaboration.
Defines layers and dimensions of schema evolution across contexts.
Provides challenge problems to guide future research.
Abstract
Many improvements to programming have come from shortening feedback loops, for example with Integrated Development Environments, Unit Testing, Live Programming, and Distributed Version Control. A barrier to feedback that deserves greater attention is Schema Evolution. When requirements on the shape of data change then existing data must be migrated into the new shape, and existing code must be modified to suit. Currently these adaptations are often performed manually, or with ad hoc scripts. Manual schema evolution not only delays feedback but since it occurs outside the purview of version control tools it also interrupts collaboration. Schema evolution has long been studied in databases. We observe that the problem also occurs in non-database contexts that have been less studied. We present a suite of challenge problems exemplifying this range of contexts, including traditional…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
