Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title Investigating Continuous Delivery Practices and their Effectiveness in Open Source Projects
Organization Unit
Authors
  • Faruk Acibal
Supervisors
  • Harald Gall
  • Sebastiano Panichella
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2018
Abstract Text Continuous Integration(CI) and Continuous Deployment(CD) is a heavily used tool in software development in open source as well as industrial environments. To understand the effectiveness and efficiency of this tool, we start off by defining a taxonomy of variables that directly or indirectly could influence the effectiveness/efficiency of CI/CD practices. By performing an extensive literature review, we extract around 77 variables from 42 sources and StackExchange posts. We then state possible theoretical effects between these variables. We continue by performing an empirical study going in depth for the build failure rate as well as the build duration and how they are affected by other variables. We use the datasets provided by TravisTorrent as well as GHTorrent. Looking at over 1200 projects and more than 680’000 builds, we confirm older studies but also contribute new findings. Our work should help identifying problematic CI/CD practices that could influence the CI/CD effectiveness. The taxonomy we defined, should help with many upcoming research questions regarding the efficient and effective use of CI/CD practices. With these results, CI/CD effectiveness could be heightened in industrial as well as open source environments by manually or even automatically inspecting these variables and warning the maintainers of projects if problematic instances of these variables are detected.
Zusammenfassung Continous Integration(CI) und Continous Deployment(CD) sind sehr häufig benutzte Werkzeuge für die Software Entwicklung in Open Source als auch industriellen Umgebungen. Um die Effektivität als auch die Effizienz dieser Werkzeuge zu verstehen, fangen wir in unserer Arbeit damit an, eine Taxonomie von Variablen, welche auf direkter oder indirekter Weise diese Effektivität/-Effizienz beeinflussen könnte, zu erstellen. Durch eine extensive Literaturrecherche sammeln wir 77 Variablen aus 42 Quellen und StackExchange Fragen/Antworten. Danach legen wir mögliche Effekte zwischen den Variablen dar. Im zweiten Teil führen wir eine empirische Studie aus, in welcher wir genauer in die Build Fehlerrate und die Build Dauer eingehen und uns genauer anschauen, was für einen Effekt andere Variablen auf diese beiden haben. Mit über 1200 Projekten und mehr als 680’000 Builds bestätigen wir ältere Aussagen in der Literatur und stellen neue auf. Unsere Arbeit sollte helfen, problematische CI/CD Praktiken, welche die Effektivität/Effizienz beinträchtigen, zu identifizieren. Die Taxonomie, welche wir definiert haben, sollte mit aufkommenden Fragen bezüglich effizienter und effektiver Nutzung von CI/CD helfen. Mit diesen Resultaten, könnte man in Open Source und industriellen Umgebungen die Effizienz und Effektivität von CI/CD Prozessen steigern, indem man die Variablen manuell oder automatisiert im Blick behält und die Maintainer von Projekten auf problematische Instanzen hinweist.
PDF File Download
Export BibTeX