当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Use and Misuse of Continuous Integration Features: An Empirical Study of Projects that (mis)use Travis CI
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2020-01-01 , DOI: 10.1109/tse.2018.2838131
Keheliya Gallaba , Shane McIntosh

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 percent 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 percent), and achieves a recall of 82.76 percent in a sample of 100 projects. Furthermore, we propose Gretel—an anti-pattern removal tool for Travis CI specifications, which can remove 69.60 percent of the most frequently occurring anti-pattern automatically. Using Gretel, we have produced 36 accepted pull requests that remove Travis CI anti-patterns automatically.

中文翻译:

持续集成功能的使用和误用:(误)使用 Travis CI 的项目的实证研究

持续集成 (CI) 是一种流行的做法,当项目的版本控制系统中出现更改时,软件系统会自动编译和测试。与其他软件工件一样,CI 规范需要维护工作。尽管像 Travis CI 这样的几个服务提供商提供各种 CI 功能,但尚不清楚哪些功能被(误)使用了。在本文中,我们对使用 Travis CI 的 9,312 个开源系统中的功能使用和误用进行了研究。对项目采用的特性的分析表明,显式部署代码很少见——所研究的 Travis CI 规范代码中有 48.16% 与配置作业处理节点相关联。为了分析功能滥用,我们提出了 Hansel——一种针对 Travis CI 规范的反模式检测工具。我们定义了四种反模式,Hansel 在语料库中的 894 个项目(9.60%)的 Travis CI 规范中检测到反模式,并在 100 个项目的样本中实现了 82.76% 的召回率。此外,我们提出了 Gretel——一种针对 Travis CI 规范的反模式移除工具,它可以自动移除 69.60% 最常见的反模式。使用 Gretel,我们生成了 36 个已接受的拉取请求,这些请求会自动删除 Travis CI 反模式。
更新日期:2020-01-01
down
wechat
bug