Navigation auf zora.uzh.ch

Search ZORA

ZORA (Zurich Open Repository and Archive)

Principle-driven continuous integration: simplifying failure discovery and raising anti-pattern awareness

Vassallo, Carmine. Principle-driven continuous integration: simplifying failure discovery and raising anti-pattern awareness. 2020, University of Zurich, Faculty of Economics.

Abstract

Continuous Integration (CI) is a software development practice that enables developers to build software more reliably and quickly. Most organizations have started adopting CI, however, only a few of them achieve the expected benefits. The reason is that living up to the recommended practices (called principles) of CI is not easy and developers tend to follow anti-patterns, which are ineffective solutions to recurrent problems. Anti-patterns violate principles and lower the effectiveness of CI. In this dissertation, we characterize the problem of anti-patterns to implement solutions that help developers follow principles. We start with classifying the anti-patterns encountered by developers in practice and identifying their four root causes, which are (i) the poor knowledge of the prerequisites for adopting CI, (ii) the difficulty of inspecting build failure logs, (iii) the presence of bad configurations, and (iv) the wrong usage of a CI process. While only better coaching in CI can efficiently remove the former, we implement several approaches to address the other causes. To improve the understandability of build failure logs, we develop Bart, a tool that produces summaries for the most common build failure types. To identify anti-patterns caused by configuration smells that developer should remove, we propose CD-Linter, a semantic linter for CI/CD configuration files. We implement CI-Odor, an automated reporting tool that leverages information from repository and build history, to monitor the wrong adoption of CI over time. The results of multiple empirical studies conducted with professional developers show that the proposed approaches are effective at identifying and removing the aforementioned causes of anti-patterns and, consequently, at enforcing a principle-driven continuous integration practice.

Additional indexing

Item Type:Dissertation (monographical)
Referees:Gall Harald, Williams Laurie, Proksch Sebastian
Communities & Collections:03 Faculty of Economics > Department of Informatics
UZH Dissertations
Dewey Decimal Classification:000 Computer science, knowledge & systems
Scope:Discipline-based scholarship (basic research)
Language:English
Place of Publication:Zürich
Date:October 2020
Deposited On:21 Jan 2021 06:02
Last Modified:06 Mar 2024 14:34
Number of Pages:260
OA Status:Green
Other Identification Number:merlin-id:20490
Download PDF  'Principle-driven continuous integration: simplifying failure discovery and raising anti-pattern awareness'.
Preview
  • Content: Published Version

Metadata Export

Statistics

Downloads

302 downloads since deposited on 21 Jan 2021
66 downloads since 12 months
Detailed statistics

Authors, Affiliations, Collaborations

Similar Publications