面向机器学习库的约束引导单元测试生成
软件工程
2025-10-13 v1
摘要
机器学习 (ML) 库如 PyTorch 和 TensorFlow 是广泛现代应用的关键组件。通过测试确保 ML 库的正确性至关重要。然而,ML API 常常施加严格的输入约束,涉及复杂的数据结构如张量。自动化测试生成工具如 Pynguin 并不了解这些约束,常常生成不合规的输入,导致测试早期失败并限制代码覆盖率。先前研究探索了从官方 API 文档中提取约束的方法。本文提出了 PynguinML,一种改进 Pynguin 测试生成器的方案,通过利用这些约束为 ML API 生成合规输入,以实现更全面的测试和更高的代码覆盖率。我们的评估基于 PyTorch 和 TensorFlow 的 165 个模块,比较 PynguinML 与 Pynguin。结果表明,PynguinML 在测试有效性方面显著提升,实现了最高可达 63.9% 的代码覆盖率提升。
引用
@article{arxiv.2510.09108,
title = {Constraint-Guided Unit Test Generation for Machine Learning Libraries},
author = {Lukas Krodinger and Altin Hajdari and Stephan Lukasczyk and Gordon Fraser},
journal= {arXiv preprint arXiv:2510.09108},
year = {2025}
}
备注
Accepted for SSBSE 2025