@inproceedings{2fd634ad5dcf441a8b292cc272c1c958,
title = "Trade-offs in continuous integration: Assurance, security, and flexibility",
abstract = "Continuous integration (CI) systems automate the compilation, building, and testing of software. Despite CI being a widely used activity in software engineering, we do not know what motivates developers to use CI, and what barriers and unmet needs they face. Without such knowledge, developers make easily avoidable errors, tool builders invest in the wrong direction, and researchers miss opportunities for improving the practice of CI. We present a qualitative study of the barriers and needs developers face when using CI. We conduct semi-structured interviews with developers from different industries and development scales. We triangulate our findings by running two surveys. We find that developers face trade-offs between speed and certainty (Assurance), between better access and information security (Security), and between more configuration options and greater ease of use (Flexibility). We present implications of these trade-offs for developers, tool builders, and researchers.",
keywords = "Automated testing, Continuous integration",
author = "Michael Hilton and Nicholas Nelson and Timothy Tunnell and Darko Marinov and Danny Dig",
note = "Publisher Copyright: {\textcopyright} 2017 Association for Computing Machinery.; 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2017 ; Conference date: 04-09-2017 Through 08-09-2017",
year = "2017",
month = aug,
day = "21",
doi = "10.1145/3106237.3106270",
language = "English (US)",
series = "Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering",
publisher = "Association for Computing Machinery",
pages = "197--207",
editor = "Andrea Zisman and Eric Bodden and Wilhelm Schafer and {van Deursen}, Arie",
booktitle = "ESEC/FSE 2017 - Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering",
address = "United States",
}