提示 Code Interpreter 在 Quixbugs 函数上编写更好的单元测试
软件工程
2023-10-03 v1 机器学习
摘要
单元测试是软件工程中常用于测试已写代码正确性与鲁棒性的方法。单元测试旨在隔离测试代码库中的小型组件,例如单个函数或方法。尽管单元测试历来由人类程序员编写,但 AI 特别是 LLM(大语言模型,Large Language Models)的最新进展在自动单元测试生成方面也取得了相应进步。在本研究中,我们探讨了不同提示对 Code Interpreter(一个基于 GPT-4 的 LLM)在 Quixbugs 数据集所提供的 Python 函数上生成的单元测试质量的影响,并且由于用户可轻易利用我们的发现与观察,我们聚焦于提示。我们发现所生成单元测试的质量对提示中细微细节的变化并不敏感。然而,我们观察到 Code Interpreter 常能有效识别并纠正其编写代码中的错误,这表明为其提供可运行代码以检查其输出正确性是有益的,尽管我们发现它已常能生成格式正确的单元测试。我们的发现表明,在提示类似 Code Interpreter 的模型时,包含生成单元测试所需的基本信息十分重要,但细微细节则没那么重要。
引用
@article{arxiv.2310.00483,
title = {Prompting Code Interpreter to Write Better Unit Tests on Quixbugs Functions},
author = {Vincent Li and Nick Doiron},
journal= {arXiv preprint arXiv:2310.00483},
year = {2023}
}
备注
13 pages (including appendices), 0 figures, 1 table. First authored by Vincent Li; edited by Nick Doiron