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年间机器学习(ML)方法在持续集成(CI)中的应用进行了系统性文献综述。旨在识别和描述CI中基于ML的解决方案所使用的技术,并从数据工程、特征工程、超参数调优、ML模型、评估方法与指标等多个维度展开分析。本文阐述了CI测试的阶段划分、各阶段之间的关联,以及ML方法训练过程中采用的技术手段。我们梳理了所选研究中使用的九类数据源和四项数据处理步骤。通过对所选研究进行主题分析,我们识别出四种特征类型和九个数据特征子集。同时,本文展示了五种超参数选择与调优方法。此外,我们归纳了文献中使用的评估方法,并识别出十五种不同指标。最常用的评估方法为精确率、召回率和F1分数,我们还确定了五种用于评估已训练ML模型性能的方法。最后,本文揭示了ML模型类型、性能度量指标与CI阶段之间的关联关系。该研究为关注CI中ML方法的研究人员和实践者提供了重要见解,并强调该领域亟需进一步研究。