回归检验
计算机科学
编码(集合论)
考试(生物学)
程序设计语言
代码覆盖率
回归分析
统计
数学
机器学习
软件
地质学
古生物学
软件建设
集合(抽象数据类型)
软件系统
作者
Jiale Wang,Kaiyuan Wang,Pengyu Nie
出处
期刊:Cornell University - arXiv
日期:2024-10-29
标识
DOI:10.48550/arxiv.2410.21798
摘要
Code coverage analysis has been widely adopted in the continuous integration of open-source and industry software repositories to monitor the adequacy of regression test suites. However, computing code coverage can be costly, introducing significant overhead during test execution. Plus, re-collecting code coverage for the entire test suite is usually unnecessary when only a part of the coverage data is affected by code changes. While regression test selection (RTS) techniques exist to select a subset of tests whose behaviors may be affected by code changes, they are not compatible with code coverage analysis techniques -- that is, simply executing RTS-selected tests leads to incorrect code coverage results. In this paper, we present the first incremental code coverage analysis technique, which speeds up code coverage analysis by executing a minimal subset of tests to update the coverage data affected by code changes. We implement our technique in a tool dubbed iJaCoCo, which builds on Ekstazi and JaCoCo -- the state-of-the-art RTS and code coverage analysis tools for Java. We evaluate iJaCoCo on 1,122 versions from 22 open-source repositories and show that iJaCoCo can speed up code coverage analysis time by an average of 1.86x and up to 8.20x compared to JaCoCo.
科研通智能强力驱动
Strongly Powered by AbleSci AI