More Precise Regression Test Selection via Reasoning about Semantics-Modifying Changes
Yu Liu, Jiyang Zhang, Pengyu Nie, Milos Gligoric, Owolabi Legunsen
摘要
Regression test selection (RTS) speeds up regression testing by only re-running tests that might be affected by code changes. Ideal RTS safely selects all affected tests and precisely selects only affected tests. But, aiming for this ideal is often slower than re-running all tests. So, recent RTS techniques use program analysis to trade precision for speed, i.e., lower regression testing time, or even use machine learning to trade safety for speed. We seek to make recent analysis-based RTS techniques more precise, to further speed up regression testing. Independent studies suggest that these techniques reached a "performance wall" in the speed-ups that they provide. We manually inspect code changes to discover those that do not require re-running tests that are only affected by such changes. We categorize 29 kinds of changes that we find from five projects into 13 findings, 11 of which are semantics-modifying. We enhance two RTS techniques-Ekstazi and STARTS-to reason about our findings. Using 1,150 versions of 23 projects, we evaluate the impact on safety and precision of leveraging such changes. We also evaluate if our findings from a few projects can speed up regression testing in other projects. The results show that our enhancements are effective and they can generalize. On average, they result in selecting 41.7% and 31.8% fewer tests, and take 33.7% and 28.7% less time than Ekstazi and STARTS, respectively, with no loss in safety. CCS CONCEPTS • Software and its engineering → Software testing and debugging; Software evolution.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper11
- An In-Depth Study of Runtime Verification Overheads during Software TestingKevin Guan, Owolabi LegunsenISSTA 2024 · 被引用 7 次
- Faster Explicit-Trace Monitoring-Oriented Programming for Runtime Verification of Software TestsKevin Guan, Marcelo d'Amorim, Owolabi LegunsenOOPSLA 2025 · 被引用 7 次
- Extracting Inline Tests from Unit TestsYu Liu, Pengyu Nie, Anna Guo, Milos Gligoric 等ISSTA 2023 · 被引用 7 次
- Instrumentation-Driven Evolution-Aware Runtime VerificationKevin Guan, Owolabi LegunsenICSE 2025 · 被引用 4 次
- Faster Runtime Verification during Testing via Feedback-Guided Selective MonitoringShinhae Kim, Saikat Dutta, Owolabi LegunsenASE 2025 · 被引用 3 次
它引用的顶会 Paper2
- Learning-to-rank vs ranking-to-learn: strategies for regression testing in continuous integrationAntonia Bertolino, Antonio Guerriero, Breno Miranda, Roberto Pietrantuono 等ICSE 2020 · 被引用 81 次
- Empirically evaluating readily available information for regression test optimization in continuous integrationDaniel Elsner, Florian Hauer, Alexander Pretschner, Silke ReimerISSTA 2021 · 被引用 45 次
相关 Paper
- Hybrid Regression Test Selection by Integrating File and Method DependencesGuofeng Zhang, Luyao Liu, Zhenbang Chen, Ji WangASE 2024 · 被引用 2 次
- Test Selection for Unified Regression TestingShuai Wang, Xinyu Lian, Darko Marinov, Tianyin XuICSE 2023 · 被引用 9 次
- Efficient Incremental Code Coverage Analysis for Regression Test SuitesJiale Amber Wang, Kaiyuan Wang, Pengyu NieASE 2024 · 被引用 1 次
- Fine-Grained Analyses for Evolution-Aware Runtime VerificationPengyue Jiang, Kevin Guan, Mahdi Khosravi, Moustafa Ismail 等ICSE 2026 · 被引用 1 次
- Names Are All You Need: Effective and Safe Regression Test Selection for PythonYou Wang, Michael Pradel, Zhongxin LiuISSTA 2026
