Please use this identifier to cite or link to this item:
https://doi.org/10.21256/zhaw-19312
Publication type: | Article in scientific journal |
Type of review: | Peer review (publication) |
Title: | An empirical characterization of bad practices in continuous integration |
Authors: | Zampetti, Fiorella Vassallo, Carmine Panichella, Sebastiano Canfora, Gerardo Gall, Harald Di Penta, Massimiliano |
et. al: | No |
DOI: | 10.1007/s10664-019-09785-8 10.21256/zhaw-19312 |
Published in: | Empirical Software Engineering |
Volume(Issue): | 2020 |
Issue: | 25 |
Page(s): | 1095 |
Pages to: | 1135 |
Issue Date: | 2020 |
Publisher / Ed. Institution: | Springer |
ISSN: | 1382-3256 1573-7616 |
Language: | English |
Subjects: | Continuous integration; Empirical study; Bad practice; Survey; Interview |
Subject (DDC): | 005: Computer programming, programs and data |
Abstract: | Continuous Integration (CI) has been claimed to introduce several benefits in software development, including high software quality and reliability. However, recent work pointed out challenges, barriers and bad practices characterizing its adoption. This paper empirically investigates what are the bad practices experienced by developers applying CI. The investigation has been conducted by leveraging semi-structured interviews of 13 experts and mining more than 2,300 Stack Overflow posts. As a result, we compiled a catalog of 79 CI bad smells belonging to 7 categories related to different dimensions of a CI pipeline management and process. We have also investigated the perceived importance of the identified bad smells through a survey involving 26 professional developers, and discussed how the results of our study relate to existing knowledge about CI bad practices. Whilst some results, such as the poor usage of branches, confirm existing literature, the study also highlights uncovered bad practices, e.g., related to static analysis tools or the abuse of shell scripts, and contradict knowledge from existing literature, e.g., about avoiding nightly builds. We discuss the implications of our catalog of CI bad smells for (i) practitioners, e.g., favor specific, portable tools over hacking, and do not ignore nor hide build failures, (ii) educators, e.g., teach CI culture, not just technology, and teach CI by providing examples of what not to do, and (iii) researchers, e.g., developing support for failure analysis, as well as automated CI bad smell detectors. |
URI: | https://digitalcollection.zhaw.ch/handle/11475/19312 |
Fulltext version: | Accepted version |
License (according to publishing contract): | Licence according to publishing contract |
Restricted until: | 2021-01-09 |
Departement: | School of Engineering |
Organisational Unit: | Institute of Applied Information Technology (InIT) |
Appears in collections: | Publikationen School of Engineering |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
2020_Zampetti-etal_Empirical-characterization-bad-practices-continuous-integration_EMSE.pdf | Accepted Version | 339 kB | Adobe PDF | View/Open |
Show full item record
Zampetti, F., Vassallo, C., Panichella, S., Canfora, G., Gall, H., & Di Penta, M. (2020). An empirical characterization of bad practices in continuous integration. Empirical Software Engineering, 2020(25), 1095–1135. https://doi.org/10.1007/s10664-019-09785-8
Zampetti, F. et al. (2020) ‘An empirical characterization of bad practices in continuous integration’, Empirical Software Engineering, 2020(25), pp. 1095–1135. Available at: https://doi.org/10.1007/s10664-019-09785-8.
F. Zampetti, C. Vassallo, S. Panichella, G. Canfora, H. Gall, and M. Di Penta, “An empirical characterization of bad practices in continuous integration,” Empirical Software Engineering, vol. 2020, no. 25, pp. 1095–1135, 2020, doi: 10.1007/s10664-019-09785-8.
ZAMPETTI, Fiorella, Carmine VASSALLO, Sebastiano PANICHELLA, Gerardo CANFORA, Harald GALL und Massimiliano DI PENTA, 2020. An empirical characterization of bad practices in continuous integration. Empirical Software Engineering. 2020. Bd. 2020, Nr. 25, S. 1095–1135. DOI 10.1007/s10664-019-09785-8
Zampetti, Fiorella, Carmine Vassallo, Sebastiano Panichella, Gerardo Canfora, Harald Gall, and Massimiliano Di Penta. 2020. “An Empirical Characterization of Bad Practices in Continuous Integration.” Empirical Software Engineering 2020 (25): 1095–1135. https://doi.org/10.1007/s10664-019-09785-8.
Zampetti, Fiorella, et al. “An Empirical Characterization of Bad Practices in Continuous Integration.” Empirical Software Engineering, vol. 2020, no. 25, 2020, pp. 1095–135, https://doi.org/10.1007/s10664-019-09785-8.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.