中文

基于强化学习的持续集成跳过检测方法

软件工程 2024-05-17 v1 人工智能

摘要

软件行业正经历持续集成 (CI) 实践的激增,既在商业环境中也在开源环境中得到广泛采用。CI 实践通过自动化构建和测试过程来实现代码更改的无缝集成。诸如 Travis CI 和 GitHub Actions 之类的框架显著简化并提升了 CI 过程,使其更加可访问和高效,便利开发团队。尽管存在这些 CI 工具,开发者仍然难以准确地将提交标记为适合 CI 执行或作为跳过候选者,特别是对于拥有许多依赖关系的大型项目而言。对提交进行不准确的标记会导致资源密集型的测试和构建过程,即使是小提交也可能意外触发持续集成过程。检测 CI-skip 提交的问题可建模为二元分类任务,以决定是构建提交还是跳过它。本研究提出一种新方法,利用深度强化学习技术构建一个解决数据不平衡问题的最优 Decision Tree 分类器。我们通过在 GitHub 上hosted 的 diverse range of Open-Source 项目上进行 within 和 cross project validation benchmark 来评估我们的解决方案,这些结果在比较现有 state-of-the-art 方法时表现出优势。

关键词

引用

@article{arxiv.2405.09657,
  title  = {Detecting Continuous Integration Skip : A Reinforcement Learning-based Approach},
  author = {Hajer Mhalla and Mohamed Aymen Saied},
  journal= {arXiv preprint arXiv:2405.09657},
  year   = {2024}
}