Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title CINDER: Find the matching project for your next CI Study
Organization Unit
Authors
  • Timothy Zemp
Supervisors
  • Harald Gall
  • Sebastian Proksch
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2021
Abstract Text Continuous Integration (CI) is a software development practice introduced by the Agile movement with the aim of delivering reliable software releases quickly by regularly integrating changes to the software. The spread and success of CI has lead to a spike in empirical software engineering research, examining the benefits and the impact of this new practice. Implementing Continuous Integration is relatively simple because it is only required to add a configuration file to the repository and register with a CI cloud provider. Unfortunately, due to its easy adaptability, in many software repositories the process is poorly implemented. This is a substantial risk that threatens the validity of CI-based studies unless care is taken in the selection of repositories. To overcome this risk we present CInder, a tool that detects genuine CI configuration files. The tool works by using a random forest classifier trained on a labeled ground truth data set and various features describing the characteristics of configuration files. With CInder we show that significant action within the pipeline and its regular adaptation is a strong indicator of the genuineness of a configuration file. By replicating a study we show that the selection of projects has a significant impact on the results of CI based studies. With CInder we provide researchers with a tool to enhance the process of selecting applicable software repositories, consequently improving the quality and validity of their studies.
Zusammenfassung Kontinuierliche Integration (CI) ist eine agile Softwareentwicklungspraxis, die von der Agile-Bewegung eingeführt wurde. Das Ziel besteht darin, die Veröffentlichung von Software durch häufige Integration von Änderungen an der Software zuverlässig und schnell liefern zu können. Die Verbreitung und der Erfolg von CI hat zu einem Anstieg der empirischen Softwareentwicklungsforschung geführt, welche die Vorteile und Auswirkungen dieser neuen Praxis untersucht. Das Einführen von Kontinuierliche Integration ist relativ einfach, da nur eine Konfigurationsdatei in das Repository der Software hinzugefügt und das Projekt bei einem CI Cloud Provider registriert werden muss. Leider ist der Prozess in vielen Softwareprojekten aufgrund der tiefen Einstiegshürden nur schlecht implementiert. Wenn bei der Auswahl der Softwareprojekte nicht sorgfältig vorgegangen wird, stellt dies ein erhebliches Risiko dar, welches die Gültigkeit von CI-basierten Studien bedroht. Um dieses Risiko zu überwinden implementieren wir CInder, ein Programm, das ernsthafte CI-Konfigurationsdateien erkennt. Das Tool arbeitet mit einem Random-Forest-Klassifikator, der auf einem Wahrheitsdatensatz und verschiedenen Merkmalen, welche die Eigenschaften von Konfigurationsdateien beschreiben, trainiert wurde. Mit CInder zeigen wir, dass viele Aktionen innerhalb der Pipeline und eine regelmässige Anpassung der Konfiguration an die Bedürfnisse der Software starke Indikatoren dafür sind, dass eine Konfigurationsdatei ernsthaft ist. Mithilfe der Replikation einer bestehenden Studie zeigen wir, dass die Auswahl der Projekte einen signifikanten Einfluss auf die Ergebnisse hat von CI-basierten Studien hat. Mit CInder stellen wir Forschern ein Programm zur Verfügung, welches dazu dient, die Auswahl geeigneter Softwareprojekte zu verbessern und damit die Qualität und Gültigkeit ihrer Studien erhöht.
PDF File Download
Export BibTeX