通过微调检索增强型预训练语言模型提高深度断言生成
软件工程
2025-02-25 v1
摘要
单元测试用于验证被测试系统单元的正确性,是提高软件质量和可靠性的基石。为减少手动编写单元测试的工作,一些技术被提出用于自动生成测试断言,其中最近的基于集成的方法被认为是最先进的。尽管这些方法前景光明,但仍面临若干限制,包括对断言检索依赖词汇匹配以及断言生成训练语料库有限的问题。本文提出了一种新颖的检索增强深度断言生成方法,称为 RetriGen,基于混合检索器和基于预训练语言模型(PLM)的生成器。给定焦点测试,RetriGen 首先构建混合断言检索器,以搜索外部代码库中最相关的 Test-Assert 对。检索过程考虑词汇相似性和语义相似性,分别通过基于标记的检索器和基于嵌入的检索器实现。RetriGen 随后将断言生成视为序列到序列任务,设计基于 PLM 的断言生成器以预测正确的断言。我们在两个大规模数据集和两个指标上对 RetriGen 与六种最先进方法进行了广泛实验。结果表明,RetriGen 在准确率和 CodeBLEU 上分别达到 57.66% 和 73.24%,超越所有基线,分别实现了平均改进的 50.66% 和 14.14%。
引用
@article{arxiv.2502.16071,
title = {Improving Deep Assertion Generation via Fine-Tuning Retrieval-Augmented Pre-trained Language Models},
author = {Quanjun Zhang and Chunrong Fang and Yi Zheng and Yaxin Zhang and Yuan Zhao and Rubing Huang and Jianyi Zhou and Yun Yang and Tao Zheng and Zhenyu Chen},
journal= {arXiv preprint arXiv:2502.16071},
year = {2025}
}
备注
Accepted to ACM Transactions on Software Engineering and Methodology (TOSEM 2025)