Continuous Integration Theater

07/02/2019
by   Wagner Felidré, et al.
0

Background: Continuous Integration (CI) systems are now the bedrock of several software development practices. Several tools such as TravisCI, CircleCI, and Hudson, that implement CI practices, are commonly adopted by software engineers. However, the way that software engineers use these tools could lead to what we call "Continuous Integration Theater", a situation in which software engineers do not employ these tools effectively, leading to unhealthy CI practices. Aims: The goal of this paper is to make sense of how commonplace are these unhealthy continuous integration practices being employed in practice. Method: By inspecting 1,270 open-source projects that use TravisCI, the most used CI service, we quantitatively studied how common is to use CI (1) with infrequent commits, (2) in a software project with poor test coverage, (3) with builds that stay broken for long periods, and (4) with builds that take too long to run. Results: We observed that 748 (sim60 projects face infrequent commits, which essentially makes the merging process harder. Moreover, we were able to find code coverage information for 51 projects. The average code coverage was 78 higher code coverage than Java projects (86 some projects with very small coverage (sim4 that 85 than four days to be fixed. Interestingly, very small projects (up to 1,000 lines of code) are the ones that take the longest to fix broken builds. Finally, we noted that, for the majority of the studied projects, the build is executed under the 10 minutes rule of thumb. Conclusions: Our results are important to an increasing community of software engineers that employ CI practices on daily basis but may not be aware of bad practices that are eventually employed.

READ FULL TEXT

page 1

page 4

research
06/16/2023

State-Of-The-Practice in Quality Assurance in Java-Based Open Source Software Development

To ensure the quality of software systems, software engineers can make u...
research
02/03/2022

Bus Factor In Practice

Bus factor is a metric that identifies how resilient is the project to t...
research
11/10/2017

Continuous Integration: The Silver Bullet?

Continuous integration (CI) tools integrate code changes by automaticall...
research
08/04/2022

Investigating the Impact of Continuous Integration Practices on the Productivity and Quality of Open-Source Projects

Background: Much research has been conducted to investigate the impact o...
research
02/20/2018

Statistical Software for Psychology: Comparing Development Practices Between CRAN and Other Communities

Different communities rely heavily on software, but use quite different ...
research
01/22/2019

Towards Predicting the Impact of Software Changes on Building Activities

The pervasive adoption of Continuous Integration practices -- both in in...
research
04/28/2023

Building the MSR Tool Kaiaulu: Design Principles and Experiences

Background: Since Alitheia Core was proposed and subsequently retired, t...

Please sign up or login with your details

Forgot password? Click here to reset