MSR 2020
Mon 29 - Tue 30 June 2020
co-located with ICSE 2020
Mon 29 Jun 2020 11:36 - 11:48 at MSR:Zoom - Build, CI, & Dependencies Chair(s): Raula Gaikovina Kula

Continuous Integration (CI) is a development practice where developers frequently integrate code into a common codebase. After the code is integrated, the CI server runs a test suite and other tools to produce a set of reports (e.g., output of linters and tests). If the result of a CI test run is unexpected, developers have the option to manually restart the build, re-running the same test suite on the same code; this can reveal build flakiness, if the restarted build outcome differs from the original build. In this study, we analyze restarted builds, flaky builds, and their impact on the development workflow. We observe that developers restart at least 1.72% of builds, amounting to 56,522 restarted builds in our Travis CI dataset. We observe that more mature and more complex projects are more likely to include restarted builds. The restarted builds are mostly builds that are initially failing due to a test, network problem, or a Travis CI limitations such as execution timeout. Finally, we observe that restarted builds have a major impact on development workflow. Indeed, in 54.42% of the restarted builds, the developers analyze and restart a build within an hour of the initial failure. This suggests that developers wait for CI results, interrupting their workflow to address the issue. Restarted builds also slow down the merging of pull requests by a factor of three, bringing median merging time from 16h to 48h.

Mon 29 Jun

Displayed time zone: (UTC) Coordinated Universal Time change

11:00 - 12:00
Build, CI, & DependenciesTechnical Papers / Registered Reports / Keynote / MSR Awards / FOSS Award / Education / Data Showcase / Mining Challenge / MSR Challenge Proposals / Ask Me Anything at MSR:Zoom
Chair(s): Raula Gaikovina Kula NAIST

Q/A & Discussion of Session Papers over Zoom (Joining info available on Slack)

11:00
12m
Live Q&A
A Tale of Docker Build Failures: A Preliminary StudyMSR - Technical Paper
Technical Papers
Yiwen Wu National University of Defense Technology, Yang Zhang National University of Defense Technology, China, Tao Wang National University of Defense Technology, Huaimin Wang
Pre-print Media Attached
11:12
12m
Live Q&A
Using Others' Tests to Avoid Breaking UpdatesMSR - Technical Paper
Technical Papers
Suhaib Mujahid Concordia University, Rabe Abdalkareem Concordia University, Montreal, Canada, Emad Shihab Concordia University, Shane McIntosh McGill University
Pre-print Media Attached
11:24
12m
Live Q&A
A Dataset of DockerfilesMSR - Data Showcase
Data Showcase
A: Jordan Henkel University of Wisconsin–Madison, A: Christian Bird Microsoft Research, A: Shuvendu K. Lahiri Microsoft Research, A: Thomas Reps University of Wisconsin-Madison, USA
Media Attached
11:36
12m
Live Q&A
Empirical Study of Restarted and Flaky Builds on Travis CIMSR - Technical Paper
Technical Papers
Thomas Durieux KTH Royal Institute of Technology, Sweden, Claire Le Goues Carnegie Mellon University, Michael Hilton Carnegie Mellon University, USA, Rui Abreu Instituto Superior Técnico, U. Lisboa & INESC-ID
DOI Pre-print Media Attached
11:48
12m
Live Q&A
LogChunks: A Data Set for Build Log AnalysisMSR - Data Showcase
Data Showcase
A: Carolin Brandt Delft University of Technology, A: Annibale Panichella Delft University of Technology, A: Andy Zaidman TU Delft, A: Moritz Beller Facebook, USA
Pre-print Media Attached