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 in typical programming work. 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 spent more time between 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.
Tue 12 OctDisplayed time zone: Central Time (US & Canada) change
13:50 - 14:30 | Understanding and Shortening the Feedback Loop in ProgrammingResearch Papers Chair(s): Sandeep Kuttal The University of Tulsa | ||
13:50 10mPaper | Understanding the Challenges and Needs of Programmers Writing Web Automation ScriptsFull paper Research Papers | ||
14:00 10mPaper | Edit-Run Behavior in Programming and DebuggingFull paper Research Papers | ||
14:10 10mShort-paper | Immediate Feedback for Students to Solve Notebook Reproducibility Problems in the ClassroomShort paper Research Papers Christophe Casseau Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, UMR5800, Jean-Rémy Falleri Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI. Institut Universitaire de France., Xavier Blanc Univ. Bordeaux, Bordeaux INP, CNRS, LaBRI, UMR5800, Thomas Degueule CNRS, LaBRI File Attached | ||
14:20 10mShort-paper | Shortening Feedback Loops in a Live Game Development EnvironmentShort paper Research Papers Tom Beckmann Hasso Plattner Institute, Eva Krebs Hasso Plattner Institute, University of Potsdam, Patrick Rein Hasso Plattner Institute, Stefan Ramson Hasso Plattner Institute, Germany, Robert Hirschfeld Hasso Plattner Institute (HPI), University of Potsdam, Germany |