利用LLMs的能力:自动化高性能计算单元测试生成
本研究探讨了使用自然语言提示生成SystemVerilog声明(用于硬件安全),研究了一种流行的大型语言模型的能力,并设计了一个评估框架来生成各种提示并创建基准套件,该套件由真实硬件设计和相应的黄金参考声明组成。
Jun, 2023
利用对最近的大型语言模型进行了代码测试的详尽分析,本研究展示了这些模型的一系列有趣性质,并展示了如何改进大型语言模型的程序测试能力,通过利用生成的测试用例来提高合成程序的质量,相较于GPT-3.5-turbo和最新的最先进技术,我们的方法在HumanEval+上的代码通过率分别提高了11.77%和4.22%。
Oct, 2023
通过实验研究了使用大型语言模型(LLMs)ChatGPT在Python程序中生成单元测试脚本的有效性,发现它在覆盖率方面与Pynguin相当,但在生成测试用例方面优于Pynguin;此外,发现ChatGPT能够提供更好的测试覆盖率,此外通过优化ChatGPT的提示工程,可在某些情况下提高覆盖率。
Dec, 2023
利用大型语言模型(LLMs)生成高质量代码的能力引起了软件测试界的广泛关注。本文介绍了一个大规模数据集UniTSyn,用于提升LLMs在单元测试合成方面的能力。通过与被测试函数相关联的测试,UniTSyn使LLMs能够推断预期行为和待验证的逻辑路径。通过基于UniTSyn构建自回归模型,实验证明在所有评估的编程语言中,学习和理解单元测试表征获得显著的效益,提高了生成准确性和代码覆盖率。
Feb, 2024
使用大型语言模型(LLMs)生成高质量的测试用例是一个重要问题,目前的研究主要集中在改进代码生成过程中通过LLMs生成辅助测试用例的性能,而LLMs在仅生成测试用例方面的性能尚未全面研究。为了填补这一空白,本文通过大量实验研究了LLMs生成高质量测试用例的能力,并提出了一种名为TestChain的多代理框架,通过与Python解释器的交互提供更准确的测试输出,实验结果表明TestChain在测试用例准确性上明显优于基准模型,其中使用GPT-4作为基础的TestChain在LeetCode-hard数据集上相比基准模型改进了13.84%。
Apr, 2024
我们提出了一种称为变质提示测试的新颖解决方案,用于解决由大型语言模型生成的代码质量和正确性所引发的挑战,并在HumanEval评估中显示,该方法能够检测到由GPT-4生成的错误程序的75%,误报率为8.6%。
Jun, 2024
本研究针对现有单元测试生成方法在复杂真实软件开发情境下的局限,提出了一种新的测试生成与评估方案。我们的系统\textsc{AgoneTest}专注于类级测试代码的自动生成,并自动化了从测试生成到评估的全过程。研究显示,该系统能够有效提升测试质量,并为多种 Java 项目生成高效的测试套件。
Aug, 2024
本研究解决了大语言模型在代码生成中的正确性和质量问题。通过对ChatGPT和Copilot生成Java和Python算法及其单元测试的控制实验,提出了一种可重复和可比的评估方法,最终发现了不同模型、语言和时间间隔下的显著差异。这些结果有助于进一步优化代码生成技术并提升软件开发效率。
Aug, 2024