TESTGENEVAL
收藏arXiv2024-10-01 更新2024-10-04 收录
下载链接:
https://figshare.com/s/51171ae97cd21d233d4f
下载链接
链接失效反馈官方服务:
资源简介:
TESTGENEVAL是由卡内基梅隆大学和Meta AI的研究团队创建的一个大规模测试生成和测试完成基准数据集。该数据集包含68,647个测试,来自1,210个代码和测试文件对,涵盖11个维护良好的Python仓库。数据集的创建过程包括从SWEBench数据集中提取代码测试文件对,并通过覆盖率和变异分数进行评估。TESTGENEVAL主要用于评估模型在生成高质量测试套件和完成现有测试套件的能力,旨在解决软件测试中的代码覆盖和缺陷检测问题。
TESTGENEVAL is a large-scale test generation and test completion benchmark dataset created by research teams from Carnegie Mellon University and Meta AI. It contains 68,647 test cases sourced from 1,210 code-test file pairs, covering 11 well-maintained Python repositories. The dataset construction workflow involves extracting code-test file pairs from the SWEBench dataset, followed by evaluation using coverage and mutation scores. TESTGENEVAL is primarily intended to evaluate models' abilities to generate high-quality test suites and complete existing test suites, with the goal of addressing the challenges of code coverage and defect detection in software testing.
提供机构:
卡内基梅隆大学, FAIR, Meta AI
创建时间:
2024-10-01
搜集汇总
数据集介绍

构建方式
TESTGENEVAL 数据集的构建基于 SWEBench 数据集,包含了来自 11 个维护良好的 Python 仓库的 1,210 对代码和测试文件,共计 68,647 个测试。该数据集涵盖了初始测试编写、测试套件完善以及代码覆盖率提升等多个方面。测试编写模拟了开发者从头开始编写测试套件的过程,而测试完善则模拟了开发者旨在提高现有测试套件覆盖率的场景。
特点
TESTGENEVAL 数据集的主要特点在于其大规模和真实性。它包含了来自真实世界项目的代码和测试文件,涵盖了多种测试生成任务,包括完整的测试套件生成和测试完善。此外,该数据集引入了代码覆盖率和变异分数作为评估指标,这些指标与实际的错误检测能力密切相关。
使用方法
TESTGENEVAL 数据集可用于评估代码生成模型的测试生成性能。用户可以通过提供的 Docker 镜像轻松运行代码并评估分数。数据集还提供了详细的说明文档,指导用户如何运行基准测试并扩展其功能。此外,数据集的网站上提供了所有模型生成的测试,便于社区使用和进一步研究。
背景与挑战
背景概述
TESTGENEVAL 是由 Carnegie Mellon University 和 Meta AI 的研究人员于近期创建并发布的一个大规模基准数据集,旨在衡量测试生成模型的性能。该数据集基于 SWEBench,包含了来自 11 个维护良好的 Python 仓库中的 1,210 对代码和测试文件,共计 68,647 个测试。TESTGENEVAL 涵盖了初始测试编写、测试套件完成和代码覆盖率改进等多个方面,旨在模拟开发者在实际软件开发过程中编写和完善测试套件的过程。该数据集的发布填补了现有代码生成模型在软件测试基准方面的空白,特别是对于大型项目和真实世界用例的测试生成,具有重要的研究意义和实际应用价值。
当前挑战
TESTGENEVAL 数据集在构建和应用过程中面临多项挑战。首先,所解决的领域问题——软件测试生成——本身具有高度复杂性,要求模型能够理解和生成高质量的测试代码,以确保软件的正确性和鲁棒性。其次,构建过程中遇到的挑战包括如何从大型代码库中提取有效的测试用例,以及如何确保生成的测试代码具有高覆盖率和低误报率。此外,模型在生成高覆盖率测试套件时遇到困难,最佳模型 GPT-4o 的平均覆盖率仅为 35.2%,这主要是因为模型在推理执行路径和处理复杂代码路径时频繁出现断言错误。这些挑战凸显了现有模型在处理实际软件测试任务时的局限性,也为未来的研究提供了改进方向。
常用场景
经典使用场景
TESTGENEVAL 数据集的经典使用场景主要集中在软件测试领域,特别是在自动化单元测试生成和测试套件完善方面。该数据集通过模拟开发者从零开始编写测试套件的过程,以及在现有测试套件基础上提高覆盖率的情况,为代码生成模型提供了一个大规模的基准。具体任务包括初始测试编写、测试套件完善和代码覆盖率改进,这些任务与实际软件开发中的单元测试需求高度吻合。
解决学术问题
TESTGENEVAL 数据集解决了现有代码生成模型在软件测试领域缺乏大规模、真实世界基准的问题。尽管已有一些基准关注代码编写或代码完善,但在软件测试方面的努力相对较少。该数据集通过提供来自11个维护良好的Python仓库的68,647个测试,填补了这一空白,促进了测试生成性能的综合评估。其意义在于推动了自动化测试生成技术的发展,特别是在处理复杂代码路径和提高代码覆盖率方面,对学术研究具有重要影响。
衍生相关工作
TESTGENEVAL 数据集的发布催生了一系列相关研究工作,特别是在自动化测试生成和代码覆盖率改进领域。例如,一些研究通过分析该数据集中的测试生成任务,提出了新的模型架构和优化策略,以提高测试生成的准确性和覆盖率。此外,该数据集还激发了对现有代码生成模型在软件测试任务中表现的深入研究,推动了模型在处理复杂代码和多文件依赖时的能力提升。
以上内容由遇见数据集搜集并总结生成



