利用 PathCrawler 迈向穷举分支覆盖
软件工程
2021-05-13 v1
摘要
源代码的支覆盖是一种非常广泛使用的测试准则。此外,分支覆盖与行覆盖、MC/DC 以及断言违例、某些运行时错误和各类测试目标的覆盖是类似问题。事实上,确定大量测试目标不可达,或反之提供达到它们的测试输入,是许多验证任务的核心。然而,用于穷举分支覆盖的自动测试生成仍是一个难以实现的目标:许多现代工具获得高覆盖分数,却无法解释某些分支未被覆盖的原因,例如证明它们不可达。具体符号执行(concolic)测试生成承诺穷举覆盖,但覆盖路径比覆盖分支更高效。本文中,我解释其原因,并提出不同策略以提升其在穷举分支覆盖上的性能。在真实代码样例上对这些策略的比较展示了有前景的结果。
关键词
引用
@article{arxiv.2105.05517,
title = {Towards exhaustive branch coverage with PathCrawler},
author = {Nicky Williams},
journal= {arXiv preprint arXiv:2105.05517},
year = {2021}
}