paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Test Selection for Unified Regression Testing

统一回归测试的测试选择
ICSE 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)2023匹配度 2/10 · 论文属于软件测试/回归测试选择,核心是统一代码与配置变更的测试缩减,与用户的静态分析+LLM/Agent、浮点程序分析、贝叶斯程序分析等方向无直接交集。仅在程序分析与工业工具落地偏好上有边缘关联。引用 15 inbox
Shuai Wang, Xinyu Lian, Darko Marinov, Tianyin Xu
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出统一回归测试选择 uRTS,统一考虑代码与配置变更,安全减少测试并加速端到端回归测试。

现代软件故障常源于代码缺陷与配置错误。统一回归测试(URT)需同时测试代码变更和生产配置变更,但多配置下运行大量测试成本高昂;现有回归测试选择(RTS)无法联合考虑代码与配置变更。本文提出统一回归测试选择(uRTS),支持仅代码、仅配置及二者同时变更,并用统一算法分析测试在各次运行和跨配置下对代码与配置的依赖,筛选常规测试和配置测试,保持与最先进 RTS 相同的安全保证。作者在 Ekstazi 与 Ctest 上实现 uRTS,并在五个大型项目的数百个修订和数十种配置上评估;端到端测试时间平均比全量测试减少 3.64 倍,比直接扩展 RTS 的对比方案减少 1.87 倍。

问题
URT 需要协同测试代码变更与所有生产配置变更,但在多配置下运行大量测试导致成本很高;现有 RTS 技术无法联合推理代码与配置变更。
方法
提出 uRTS,用统一选择算法分析每个测试跨运行、跨配置的代码与配置依赖,同时支持代码变更、配置变更及二者混合变更,并实现于 Ekstazi 和 Ctest 之上。
评估
在五个大型项目的数百个代码修订和数十种配置上评估,uRTS 保持与最先进 RTS 相同的安全保证,同时减少所选测试数,端到端测试时间平均比全量测试减少 3.64 倍,比直接扩展 RTS 的对比方案减少 1.87 倍。
原文摘要(Abstract)

Today's software failures have two dominating root causes: code bugs and misconfigurations. To combat failure-inducing software changes, unified regression testing (URT) is needed to synergistically test the changed code and all changed production configurations for deployment reliability. However, URT could incur high cost, as it needs to run a large number of tests under multiple configurations. Regression test selection (RTS) can reduce regression testing cost. Unfortunately, no existing RTS technique reasons about code and configuration changes collectively. We introduce Unified Regression Test Selection (uRTS) to effectively reduce the cost of URT. uRTS supports project changes on 1) code only, 2) configurations only, and 3) both code and configurations. It selects regular tests and configuration tests with a unified selection algorithm. The uRTS algorithm analyzes code and configuration dependencies of each test across runs and across configurations. uRTS provides the same safety guarantee as the state-of-the-art RTS while selecting fewer tests and, more importantly, reducing the end-to-end testing time. We implemented uRTS on top of Ekstazi (a RTS tool for code changes) and Ctest (a configuration testing framework). We evaluate uRTS on hundreds of code revisions and dozens of configurations of five large projects. The results show that uRTS reduces the end-to-end testing time, on average, by 3.64X compared to executing all tests and 1.87X compared to a competitive reference solution that directly extends RTS for URT.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{WangLMX23,
  title = {Test Selection for Unified Regression Testing},
  author = {Shuai Wang and Xinyu Lian and Darko Marinov and Tianyin Xu},
  booktitle = {ICSE},
  year = {2023},
  doi = {10.1109/icse48619.2023.00145}
}