一句话:通过实证研究与自动修复方法,初步解决持续集成中涉及构建脚本的构建失败。
在持续集成实践中,构建、集成与测试等环节可能因大量构建失败而中断开发。现有自动程序修复技术多面向源代码,难以直接修复常同时涉及源代码与构建脚本的 CI 构建失败。本文开展初步研究:首先对软件构建失败及构建修复模式进行实证研究,并基于所得发现开发了一种能自动修复涉及构建脚本的构建错误的方案。作者计划将该方案扩展到同时考虑源代码与构建脚本的场景,并通过用户研究以及自动修复与实际修复的对比来量化修复效果。
In popular continuous integration(CI) practice, coding is followed by building, integration and system testing, pre-release inspection, and deploying artifacts. This can reduce integration risk and speed up the development process. But large number of CI build failures may interrupt the normal software development process. So, the failures need to be analyzed and fixed quickly. Although various automated program repair techniques have great potential to resolve software failures, the existing techniques mostly focus on repairing source code. So, those techniques cannot directly help resolve software build failures. Apart from that, a special challenge to fix build failures in CI environment is that the failures are often involved with both source code and build scripts. This paper outlines promising preliminary work towards automatic build repair in CI environment that involves both source code and build script. As the first step, we conducted an empirical study on software build failures and build fix patterns. Based on the findings of the empirical study, we developed an approach that can automatically fix build errors involving build scripts. We plan to extend this repair approach considering both source code and build script. Moreover, we plan to quantify our automatic fixes by user study and comparison between fixes generated by our approach and actual fixes.
DOI 原文 ·
@inproceedings{paperbot5246,
title = {Tackling Build Failures in Continuous Integration},
author = {Foyzul Hassan},
booktitle = {ASE},
year = {2019},
doi = {10.1109/ase.2019.00150}
}