Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title A Machine Learning Approach to Predicting Developers' Behaviour and Build Results in Continuous Integration
Organization Unit
Authors
  • Jonas Klass
Supervisors
  • Alberto Bacchelli
  • Fabio Palomba
  • Carmine Vassallo
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2019
Abstract Text Continuous Integration extended by Continuous Code Quality as a software development practice is a popular approach for providing Software Quality Assurance. One of the main shortcomings of this approach is that developers only learn about insufficient code quality after their changes have been built and analyzed. Therefore, researches examined different approaches to give Just-in-Time quality predictions. As no systematic overview of the topic is available, in this paper a Systematic Literature Review on the subject is performed. The review shows that these approaches work well and are usually based on Machine Learning classifiers trained with the data of projects' change histories. To learn more about developers' behaviour in Continuous Integration, a study utilizing the change histories of projects using Continuous Integration is conducted. For this purpose, different Machine Learning classifiers are trained with the data from the change histories. The study shows that prediction models for the behaviour of developers regarding continuous quality control and for the build status on the build server work well. Further, the results highlight the need for suggestion methods when code quality checks need to be performed.
Zusammenfassung Just-in-time Qualitätsvorhersagen, die auf der Änderungshistorie eines Projekts basieren, sind immer weiter verbreitet. Ziel dieses Verfahrens ist, dem Entwickler einen Anhaltspunkt bezüglich der Qualität der zu implementierenden Änderungen zu geben. Eine genauere Recherche zu diesem Thema zeigt, dass mehrere Ansätze gut geeignet sind, um solche Vorhersagen zu machen, und dass maschinelles Lernen (Machine Learning) der übliche Weg ist, um solche Vorhersagen zu treffen. Das Konzept der kontinuierlichen Integration bietet Entwicklern eine Vielzahl an Qualitätsmessungen verschiedener Dimensionen. Eine Studie, welche die Änderungshistorie von Projekten mit kontinuierlicher Integration betrachtete, zeigt, dass Prognosemodelle für den Build-Status auf dem Build-Server und das Verhalten der Entwickler hinsichtlich der kontinuierlichen Qualitätskontrolle gut funktionieren.
PDF File Download
Export BibTeX