Edit-Run Behavior in Programming and Debugging

09/06/2021
by   Abdulaziz Alaboudi, et al.
0

As developers program and debug, they continuously edit and run their code, a behavior known as edit-run cycles. While techniques such as live programming are intended to support this behavior, little is known about the characteristics of edit-run cycles themselves. To bridge this gap, we analyzed 28 hours of programming and debugging work from 11 professional developers which encompassed over three thousand development activities. We mapped activities to edit or run steps, constructing 581 debugging and 207 programming edit-run cycles. We found that edit-run cycles are frequent. Developers edit and run the program, on average, 7 times before fixing a defect and twice before introducing a defect. Developers waited longer before again running the program when programming than debugging, with a mean cycle length of 3 minutes for programming and 1 minute for debugging. Most cycles involved an edit to a single file after which a developer ran the program to observe the impact on the final output. Edit-run cycles which included activities beyond edit and run, such as navigating between files, consulting resources, or interacting with other IDE features, were much longer, with a mean length of 5 minutes, rather than 1.5 minutes. We conclude with a discussion of design recommendations for tools to enable more fluidity in edit-run cycles.

READ FULL TEXT
research
05/05/2021

An Exploratory Study of Debugging Episodes

Many studies have long investigated how developers debug, shaping our un...
research
07/25/2022

Overwatch: Learning Patterns in Code Edit Sequences

Integrated Development Environments (IDEs) provide tool support to autom...
research
05/03/2019

RLE edit distance in near optimal time

We show that the edit distance between two run-length encoded strings of...
research
07/14/2021

Levenshtein Graphs: Resolvability, Automorphisms Determining Sets

We introduce the notion of Levenshtein graphs, an analog to Hamming grap...
research
03/12/2023

Live, Rich, and Composable: Qualities for Programming Beyond Static Text

Efforts to push programming beyond static textual code have sought to im...
research
04/27/2023

SeeHow: Workflow Extraction from Programming Screencasts through Action-Aware Video Analytics

Programming screencasts (e.g., video tutorials on Youtube or live coding...
research
07/12/2020

Editable AI: Mixed Human-AI Authoring of Code Patterns

Developers authoring HTML documents define elements following patterns w...

Please sign up or login with your details

Forgot password? Click here to reset