An Empirical Characterization of Bad Practices in Continuous IntegrationJ1
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.
Wed 8 JulDisplayed time zone: (UTC) Coordinated Universal Time change
16:05 - 17:05 | A10-Human Aspects 2Journal First / Technical Papers at Baekje Chair(s): Giuseppe Scanniello University of Basilicata | ||
16:05 8mTalk | Characterizing and Identifying Reverted CommitsJ1 Journal First Meng Yan Chongqing University, Xin Xia Monash University, David Lo Singapore Management University, Ahmed E. Hassan Queen's University, Shanping Li Zhejiang University | ||
16:13 8mTalk | An Empirical Study of Obsolete Answers on Stack OverflowJ1 Journal First Haoxiang Zhang Software Analysis and Intelligence Lab (SAIL), Queen’s University, Kingston, Ontario, Canada, Shaowei Wang Mississippi State University, Tse-Hsun (Peter) Chen Concordia University, Ying Zou Queen's University, Kingston, Ontario, Ahmed E. Hassan Queen's University | ||
16:21 8mTalk | An Empirical Characterization of Bad Practices in Continuous IntegrationJ1 Journal First Fiorella Zampetti University of Sannio, Carmine Vassallo University of Zurich, Sebastiano Panichella Zurich University of Applied Sciences, Gerardo Canfora University of Sannio, Harald Gall University of Zurich, Massimiliano Di Penta University of Sannio Link to publication DOI Pre-print | ||
16:29 8mTalk | To the Attention of Mobile Software Developers: Guess What, Test your App!J1 Journal First Luís Cruz Deflt University of Technology, Rui Abreu Instituto Superior Técnico, U. Lisboa & INESC-ID, David Lo Singapore Management University DOI Pre-print Media Attached | ||
16:37 12mTalk | Primers or Reminders? The Effects of Existing Review Comments on Code ReviewTechnical Technical Papers Davide Spadini Delft University of Technology, Netherlands, Gül Calikli Chalmers | University of Gothenburg, Alberto Bacchelli University of Zurich DOI Pre-print Media Attached |