Proceedings Article10.1109/VLHCC.2014.6883030
A longitudinal study of programmers' backtracking.
YoungSeok Yoon,Brad A. Myers +1 more
- 01 Jul 2014
pp 101-108
TL;DR: A longitudinal study of programmers' backtracking, analyzing 1,460 hours of fine-grained code editing logs collected from 21 people, shows that programmers need better backtracking tools, and also provides design implications for such tools.
read more
Abstract: Programming often involves reverting source code to an earlier state, which we call backtracking. We performed a longitudinal study of programmers’ backtracking, analyzing 1,460 hours of fine-grained code editing logs collected from 21 people. Our analysis method keeps track of the change history of each abstract syntax tree node and looks for backtracking instances within each node. Using this method, we detected a total of 15,095 backtracking instances, which gives an average backtracking rate of 10.3/hour. The size of backtracking varied considerably, ranging from a single character to thousands of characters. 34% of the backtracking was performed by manually deleting or typing the desired code, and 9.5% of all backtracking was selective, meaning that it could not have been performed using the conventional undo command present in the IDE. The study results show that programmers need better backtracking tools, and also provide design implications for such tools. Keywords—empirical study; backtracking; undo; interactive development environments (IDE)
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Variolite: Supporting Exploratory Programming by Data Scientists
Mary Beth Kery,Amber Horvath,Brad A. Myers +2 more
- 02 May 2017
TL;DR: The needs for improving version control tools for exploratory tasks are explored, and a tool for lightweight local versioning, called Variolite, is demonstrated, which programmers found usable and desirable in a preliminary usability study.
The Role of Ethnographic Studies in Empirical Software Engineering
TL;DR: This article introduces ethnography, explains its origin, context, strengths and weaknesses, and presents a set of dimensions that position ethnography as a useful and usable approach to empirical software engineering research.
Exploring exploratory programming
Mary Beth Kery,Brad A. Myers +1 more
- 01 Oct 2017
TL;DR: This work provides an organized description of what exploratory programming has meant historically and a framework of four dimensions for studying exploratory Programming tasks: applications, required code quality, ease or difficulty of exploration, and the exploratory process.
114
Understanding the Role of Alternatives in Data Analysis Practices
TL;DR: It is shown how a framework based on participants' degree of attention, abstraction level, and analytic processes can help understand how data workers consider such alternatives in their analyses and how tool designers might create tools to better support them.
Live functional programming with typed holes
Cyrus Omar,Ian Voysey,Ravi Chugh,Matthew A. Hammer +3 more
- 02 Jan 2019
TL;DR: Hazelnut Live as mentioned in this paper is a proof-of-concept live programming environment with dynamic feedback that allows programmers to provide continuous feedback about a program's dynamic behavior as it is being edited.
58
References
A survey and taxonomy of approaches for mining software repositories in the context of software evolution
TL;DR: A taxonomy is derived from the analysis of this literature and presents the work via four dimensions: the type of software repositories mined, the purpose, the adopted/invented methodology used, and the evaluation method.
Where should the person stop and the information search interface start
TL;DR: It is argued here that the advanced information retrieval research community is missing an opportunity to design systems that are in better harmony with the actual preferences of many users—sophisticated systems that provide an optimal combination of searcher control and system retrieval power.
Mining fine-grained code changes to detect unknown change patterns
Stas Negara,Mihai Codoban,Danny Dig,Ralph E. Johnson +3 more
- 31 May 2014
TL;DR: This work presents the first approach that identifies previously unknown frequent code change patterns from a fine-grained sequence of code changes, and effectively handles challenges that distinguish continuous code change pattern mining from the existing data mining techniques.
Related Papers (5)
Vipin Kumar,Yow-Jian Lin +1 more
- 31 Dec 1986
Jung Chang
- 01 Jan 1985
YoungSeok Yoon,Brad A. Myers +1 more
- 02 Jun 2012