arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1606.00521cs.SE
收藏

与GitHub中持续集成相关的初始和最终软件质量

Initial and Eventual Software Quality Relating to Continuous Integration in GitHub

Yue Yu, Bogdan Vasilescu, Huaimin Wang, Vladimir Filkov, Premkumar Devanbu

摘要:

对新功能和错误修复的持续需求迫使软件项目缩短周期并更快地交付更新,同时保持软件质量。廉价的虚拟化云计算的可用性通过支持按需持续集成(CI)帮助缩短了时间表。像GitHub这样的平台支持云中的CI。在使用CI的项目中,用户提交拉取请求会触发CI步骤。除了加速构建和测试之外,这还意外地创建了大量构建和测试成功和失败的档案。CI是一个相对较新的现象,这些档案允许对CI进行详细的研究。暴露出多少问题?它们发生在哪里?哪些因素会影响CI失败?CI确定的“初始质量”是否能预测代码中以后会出现多少bug(“最终质量”)?在本文中,我们对这些记录进行了大规模的精细分辨率研究,以更好地了解CI过程,CI失败的性质和预测因素,以及CI失败与代码最终质量的关系。我们发现:a)CI失败似乎集中在几个文件中,就像正常的bug一样; b)CI失败与最终失败的相关性不是很高; c)在pull请求中使用CI并不一定意味着该请求中的代码质量良好。

英文摘要:

The constant demand for new features and bug fixes are forcing software projects to shorten cycles and deliver updates ever faster, while sustaining software quality. The availability of inexpensive, virtualized, cloud-computing has helped shorten schedules, by enabling continuous integration (CI) on demand. Platforms like GitHub support CI in-the-cloud. In projects using CI, a user submitting a pull request triggers a CI step. Besides speeding up build and test, this fortuitously creates voluminous archives of build and test successes and failures. CI is a relatively new phenomenon, and these archives allow a detailed study of CI. How many problems are exposed? Where do they occur? What factors affect CI failures? Does the "initial quality" as ascertained by CI predict how many bugs will later appear ("eventual quality") in the code? In this paper, we undertake a large-scale, fine resolution study of these records, to better understand CI processes, the nature, and predictors of CI failures, and the relationship of CI failures to the eventual quality of the code. We find that: a) CI failures appear to be concentrated in a few files, just like normal bugs; b) CI failures are not very highly correlated with eventual failures; c) The use of CI in a pull request doesn't necessarily mean the code in that request is of good quality.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑