Use and Misuse of Continuous Integration Features: An Empirical Study of Projects that (mis)use Travis CI
Continuous Integration (CI) is a popular practice where software systems are automatically compiled and tested as changes appear in the version control system of a project. Like other software artifacts, CI specifications require maintenance effort. Although there are several service providers like Travis CI offering various CI features, it is unclear which features are being (mis)used. In this paper, we present a study of feature use and misuse in 9,312 open source systems that use Travis CI. Analysis of the features that are adopted by projects reveals that explicit deployment code is rare—48.16% of the studied Travis CI specification code is instead associated with configuring job processing nodes. To analyze feature misuse, we propose Hansel—an anti-pattern detection tool for Travis CI specifications. We define four anti-patterns and Hansel detects anti-patterns in the Travis CI specifications of 894 projects in the corpus (9.60%), and achieves a recall of 82.76% in a sample of 100 projects. Furthermore, we propose Gretel—an anti-pattern removal tool for Travis CI specifications, which can remove 69.60% of the most frequently occurring anti-pattern automatically. Using Gretel, we have produced 36 accepted pull requests that remove Travis CI anti-patterns automatically.
Wed 7 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
13:30 - 15:00
|Use and Misuse of Continuous Integration Features: An Empirical Study of Projects that (mis)use Travis CI
|One Size Does Not Fit All: An Empirical Study of Containerized Continuous Deployment Workflows
Yang Zhang National University of Defense Technology, China, Bogdan Vasilescu Carnegie Mellon University, Huaimin Wang , Vladimir Filkov University of California at Davis, USAPre-print
|Be Careful of When: An Empirical Study on Time-Related Misuse of Issue Tracking Data
|Do the Dependency Conflicts in My Project Matter?
Ying Wang Northeastern University, China, Ming Wen The Hong Kong University of Science and Technology, Zhenwei Liu Northeastern University, China, Rongxin Wu Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Rui Wang Northeastern University, China, Bo Yang Northeastern University, China, Hai Yu Northeastern University, China, Zhiliang Zhu Northeastern University, China, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology