Header

UZH-Logo

Maintenance Infos

Automated Reporting of Anti-Patterns and Decay in Continuous Integration


Vassallo, Carmine; Proksch, Sebastian; Gall, Harald C; Di Penta, Massimiliano (2019). Automated Reporting of Anti-Patterns and Decay in Continuous Integration. In: 41st International Conference on Software Engineering, ICSE 2019, Montreal, QC, Canada, 25 May 2019 - 31 May 2019. IEEE / ACM, 105-115.

Abstract

Continuous Integration (CI) is a widely-used software engineering practice. The software is continuously built so that changes can be easily integrated and issues such as unmet quality goals or style inconsistencies get detected early. Unfortunately, it is not only hard to introduce CI into an existing project, but it is also challenging to live up to the CI principles when facing tough deadlines or business decisions. Previous work has identified common anti-patterns that reduce the promised benefits of CI. Typically, these anti-patterns slowly creep into a project over time before they are identified. We argue that automated detection can help with early identification and prevent such a process decay. In this work, we further analyze this assumption and survey 124 developers about CI anti-patterns. From the results, we build CI-Odor, a reporting tool for CI processes that detects the existence of four relevant anti-patterns by analyzing regular build logs and repository information. In a study on the 18,474 build logs of 36 popular Java projects, we reveal the presence of 3,823 high-severity warnings spread across projects. We validate our reports in a survey among 13 original developers of these projects and through general feedback from 42 developers that confirm the relevance of our reports.

Abstract

Continuous Integration (CI) is a widely-used software engineering practice. The software is continuously built so that changes can be easily integrated and issues such as unmet quality goals or style inconsistencies get detected early. Unfortunately, it is not only hard to introduce CI into an existing project, but it is also challenging to live up to the CI principles when facing tough deadlines or business decisions. Previous work has identified common anti-patterns that reduce the promised benefits of CI. Typically, these anti-patterns slowly creep into a project over time before they are identified. We argue that automated detection can help with early identification and prevent such a process decay. In this work, we further analyze this assumption and survey 124 developers about CI anti-patterns. From the results, we build CI-Odor, a reporting tool for CI processes that detects the existence of four relevant anti-patterns by analyzing regular build logs and repository information. In a study on the 18,474 build logs of 36 popular Java projects, we reveal the presence of 3,823 high-severity warnings spread across projects. We validate our reports in a survey among 13 original developers of these projects and through general feedback from 42 developers that confirm the relevance of our reports.

Statistics

Citations

Dimensions.ai Metrics
26 citations in Web of Science®
37 citations in Scopus®
Google Scholar™

Altmetrics

Downloads

277 downloads since deposited on 29 Jan 2021
75 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Conference or Workshop Item (Paper), refereed, original work
Communities & Collections:03 Faculty of Economics > Department of Informatics
Dewey Decimal Classification:000 Computer science, knowledge & systems
Scopus Subject Areas:Physical Sciences > Software
Language:English
Event End Date:31 May 2019
Deposited On:29 Jan 2021 05:45
Last Modified:25 Feb 2022 08:05
Publisher:IEEE / ACM
OA Status:Green
Publisher DOI:https://doi.org/10.1109/ICSE.2019.00028
Related URLs:https://ieeexplore.ieee.org/document/8811921
Other Identification Number:merlin-id:20338
  • Content: Published Version