Edit Transactions: Dynamically Scoped Change Sets for Controlled Updates in Live Programming
Toni Mattis (Hasso Plattner Institute, Germany), Patrick Rein (Hasso, Plattner Institute, Germany), Robert Hirschfeld (Hasso Plattner Institute,, Germany)

TL;DR
This paper introduces Edit Transactions, a proactive approach for managing program changes in live programming environments, enabling controlled, testable, and delayed application of multiple edits to improve reliability and user confidence.
Contribution
The paper presents a novel concept of Edit Transactions with dynamic scoping for live programming, allowing grouped changes to be tested and applied atomically, enhancing control and safety.
Findings
Edit Transactions enable testing changes in isolation.
They reduce runtime errors during live updates.
Workflow improvements increase programmer confidence.
Abstract
Live programming environments enable programmers to edit a running program and obtain immediate feedback on each individual change. The liveness quality is valued by programmers to help work in small steps and continuously add or correct small functionality while maintaining the impression of a direct connection between each edit and its manifestation at run-time. Such immediacy may conflict with the desire to perform a combined set of intermediate steps, such as a refactoring, without immediately taking effect after each individual edit. This becomes important when an incomplete sequence of small-scale changes can easily break the running program. State-of-the-art solutions focus on retroactive recovery mechanisms, such as debugging or version control. In contrast, we propose a proactive approach: Multiple individual changes to the program are collected in an Edit Transaction, which…
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.
