Continuous Integration (CI) has become a well-established software development practice for automatically and continuously integrating code changes during software development. An increasing number of Machine Learning (ML) based approaches for automation of CI phases are being reported in the literature. It is timely and relevant to provide a Systemization of Knowledge (SoK) of ML-based approaches for CI phases. This paper reports an SoK of different aspects of the use of ML for CI. Our systematic analysis also highlights the deficiencies of the existing ML-based solutions that can be improved for advancing the state-of-the-art.
翻译:持续集成(CI)已成为软件开发中一项成熟的实践,用于在开发过程中自动且持续地集成代码变更。文献中报道了越来越多基于机器学习(ML)的自动化CI阶段的方法。因此,对CI阶段采用的基于ML的方法进行知识系统化(SoK)具有及时性和相关性。本文针对将机器学习应用于CI的不同方面提出了一个知识系统化框架。我们的系统性分析还揭示了现有基于ML的方案中存在的不足,这些不足可通过改进以推动当前技术发展水平的前沿。