This research conducted a systematic review of the literature on machine learning (ML)-based methods in the context of Continuous Integration (CI) over the past 22 years. The study aimed to identify and describe the techniques used in ML-based solutions for CI and analyzed various aspects such as data engineering, feature engineering, hyper-parameter tuning, ML models, evaluation methods, and metrics. In this paper, we have depicted the phases of CI testing, the connection between them, and the employed techniques in training the ML method phases. We presented nine types of data sources and four taken steps in the selected studies for preparing the data. Also, we identified four feature types and nine subsets of data features through thematic analysis of the selected studies. Besides, five methods for selecting and tuning the hyper-parameters are shown. In addition, we summarised the evaluation methods used in the literature and identified fifteen different metrics. The most commonly used evaluation methods were found to be precision, recall, and F1-score, and we have also identified five methods for evaluating the performance of trained ML models. Finally, we have presented the relationship between ML model types, performance measurements, and CI phases. The study provides valuable insights for researchers and practitioners interested in ML-based methods in CI and emphasizes the need for further research in this area.
翻译:本研究对过去22年间将机器学习方法应用于持续集成(CI)领域的文献进行了系统性综述。研究旨在识别并描述用于CI的机器学习解决方案中所采用的技术,从数据工程、特征工程、超参数调优、机器学习模型、评估方法及度量指标等多个维度展开分析。本文描绘了CI测试的各个阶段、阶段间的关联关系,以及在训练机器学习方法各阶段所采用的技术手段。我们梳理了所选研究中呈现的九类数据来源和四项数据准备步骤。同时,通过对所选文献的主题分析,确定了四种特征类型和九类数据特征子集。此外,本文归纳了五种超参数选择与调优方法。我们还总结了文献中使用的评估方法,识别出十五种不同的度量指标,其中精确率、召回率和F1分数是最常用的评估指标,并发现了五种训练后机器学习模型性能评估方法。最后,本文揭示了机器学习模型类型、性能指标与CI阶段之间的关联关系。本研究为关注CI领域机器学习方法的研究人员和实践者提供了重要见解,并强调了在该方向开展进一步研究的必要性。