TL;DR
Forest is a structural code editor that combines the interactivity of traditional editors with the expressiveness of refactoring scripts, enabling complex, multi-location code transformations efficiently.
Contribution
The paper introduces a novel multi-cursor design in a structural editor, bridging the gap between interactive editing and script-based refactorings for complex code changes.
Findings
Able to perform 11 out of 48 real-world refactoring scripts
17 additional refactorings could be supported with new features
Demonstrates practicality of multi-cursor structural editing for small-scale refactorings
Abstract
Software developers frequently refactor code. Often, a single logical refactoring change involves changing multiple related components in a source base such as renaming each occurrence of a variable or function. While many code editors can perform such common and generic refactorings, they do not support more complex refactorings or those that are specific to a given code base. For those, as a flexible - albeit less interactive - alternative, developers can write refactoring scripts that can implement arbitrarily complex logic by manipulating the program's tree representation. In this work, we present Forest, a structural code editor that aims to bridge the gap between the interactiveness of code editors and the expressiveness of refactoring scripts. While structural editors have occupied a niche as general code editors, the key insight of this work is that they enable a novel…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
