paperbot · PL 论文追踪

全部论文 待读 收藏

P2 PrioTestCI: Efficient Test Case Prioritization in GitHub Workflows for CI Optimization

PrioTestCI:面向 CI 优化的 GitHub 工作流中高效测试用例优先级排序
ASE 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)2025匹配度 1/10 · 该论文属于软件工程中的 CI 测试用例优先级排序与 GitHub Actions 优化,核心是测试执行顺序和资源节省,不涉及静态分析、LLM/Agentic 程序分析、浮点程序分析或贝叶斯程序分析。与用户研究方向基本无关。引用 0 inbox
Shubham Vasudeo Desai, Shonil Bhide, Souhaila Serbout, Luciano Marchezan, Wesley K. G. Assunção
crossref: 2026-09-12

AI 速览

一句话:提出 PrioTestCI,在 GitHub Actions 中优先重跑曾失败测试,失败则提前终止,从而缩短 CI 时间。

持续集成中每次拉取请求更新都运行完整测试套件,会造成冗余执行、反馈变慢和资源浪费。PrioTestCI 是集成于 GitHub Actions 的测试用例优先级技术:它基于 commit 到 commit 的测试结果跟踪,优先重新执行此前失败的测试;若这些测试通过,再运行其余测试,否则提前终止工作流,从而节省计算资源并尽早向开发者反馈。作者在真实开源项目 Pytest 上评估,该项目包含大规模测试矩阵。相比普通工作流,PrioTestCI 将 CI 运行时间减少 1 小时 57 分 39 秒,各配置改进为 63.75% 至 91.94%,平均 81.55%。

问题
CI 中每次拉取请求更新都执行完整测试套件,导致冗余运行、反馈延迟和 CI 资源利用低效,尤其在大测试矩阵下更为明显。
方法
PrioTestCI 在 GitHub Actions 中利用 commit 间测试结果跟踪,优先重跑之前失败的测试;若通过则继续执行其余测试,否则提前结束工作流。
评估
在开源 Pytest 项目上与普通工作流进行对比评估,报告 CI 运行时间减少量及各测试配置的改进比例。
原文摘要(Abstract)

Continuous Integration (CI) is a widely adopted practice in software development to automatically verify code changes across diverse environments. However, executing the full test suite on every pull request update can lead to redundant runs, slower feedback loops, and inefficient utilization of CI resources. To address this issue, we introduce PrioTestCI, a prioritization technique within GitHub Actions that focuses on re-executing test cases that have previously failed. If these prioritized tests succeed, the remaining tests proceed; otherwise, the workflow terminates early, saving computation resources and providing early feedback to developers. PrioTestCI utilizes commit-to-commit test result tracking to inform future test runs, thereby reducing unnecessary repetition and accelerating validation cycles. We evaluated our technique on the Pytest project, a real-world open-source project with an extensive test matrix. PrioTestCI resulted in a CI runtime reduction of 1h57m39s compared to the normal workflow, with individual configuration improvements ranging from 63.75% to 91.94% (81.55% on average). Demo video: https://youtu.be/_3CF9LJdv0I?si=XyE_8mBnDxk1lMnD Repository: https://github.com/ShubhamDesai/CI-Optimization

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot9215,
  title = {PrioTestCI: Efficient Test Case Prioritization in GitHub Workflows for CI Optimization},
  author = {Shubham Vasudeo Desai and Shonil Bhide and Souhaila Serbout and Luciano Marchezan and Wesley K. G. Assunção},
  booktitle = {ASE},
  year = {2025},
  doi = {10.1109/ase63991.2025.00365}
}