
Open access
Author
Date
2022-01-12Type
- Master Thesis
ETH Bibliography
yes
Altmetrics
Abstract
Software developers sometimes have to repeat an edit in multiple parts of their codebase in order to maintain or extend their software. To let the user perform a repetitive edit, text editors provide multi-cursor editing, which applies editing commands in multiple locations simultaneously. However, multi-cursor text editing is limited, since each executed command must make the desired change regardless of which cursor executes it. To perform a wider range of repeated edits, some developers write refactoring scripts that work structurally. However, unlike multi-cursor editing, the process of developing a refactoring script is not interactive. We propose Forest, the first editor which specially integrates structural editing commands with multi-cursor editing. Compared to a text editor, Forest offers different editing commands, and therefore supports different multi-cursor edits. Forest allows performing edits similar to those from refactoring scripts, while still being interactive. We attempted to perform edits from 48 real-world refactoring scripts using Forest and found that 11 were possible, while another 17 would be possible with added features. Additionally, we investigated a real-world codebase, finding that ∼15% of commits contained edits with potential for multi-cursor editing. Show more
Permanent link
https://doi.org/10.3929/ethz-b-000526812Publication status
publishedPublisher
ETH ZurichSubject
SOFTWARE ENGINEERING; COMPUTER SCIENCEOrganisational unit
09628 - Su, Zhendong / Su, Zhendong
More
Show all metadata
ETH Bibliography
yes
Altmetrics