five

Methods2Test|软件测试数据集|机器学习数据集

收藏
arXiv2022-03-24 更新2024-06-21 收录
软件测试
机器学习
下载链接:
https://github.com/microsoft/methods2test
下载链接
链接失效反馈
资源简介:
Methods2Test是由微软雷德蒙德研究院创建的一个大规模监督数据集,包含780,944对JUnit测试和对应的方法(即焦点方法)。该数据集从GitHub上的91,385个Java开源项目中提取,旨在通过机器学习技术辅助软件开发者生成自动化的单元测试。创建过程中,设计了一系列基于软件测试最佳实践的启发式方法,以确保测试与焦点方法之间的可靠映射。数据集的应用领域主要集中在自动化测试生成,旨在解决现有测试生成技术中存在的代码质量、故障检测能力和工业开发者需求不匹配的问题。
提供机构:
微软雷德蒙德研究院
创建时间:
2022-03-24
AI搜集汇总
数据集介绍
main_image_url
构建方式
Methods2Test 数据集通过从91,385个Java开源项目的GitHub仓库中提取JUnit测试用例及其对应的焦点方法(focal methods)构建而成。数据集的构建过程包括解析项目以获取类和方法的元数据,识别测试类及其对应的焦点类,并通过一系列基于开发者最佳实践的启发式方法(如路径匹配和名称匹配)将测试用例映射到相应的焦点方法。最终,数据集包含了780,944对测试用例与焦点方法的映射,并提供了丰富的元数据,包括项目、文件、类和方法级别的详细信息,存储在JSON格式的文件中。
特点
Methods2Test 数据集的主要特点在于其大规模性和丰富的元数据。该数据集包含了780,944对JUnit测试用例与焦点方法的映射,覆盖了91,385个Java开源项目。此外,数据集提供了多层次的上下文信息,包括焦点方法的源代码、类名、构造函数签名、其他方法签名和公共字段等,这些信息为机器学习模型生成测试用例提供了丰富的输入。数据集还提供了原始和标记化的文本语料库,便于研究人员训练和评估自动化测试生成模型。
使用方法
Methods2Test 数据集可用于训练和评估自动化测试生成模型。研究人员可以使用数据集中提供的焦点方法及其上下文信息作为输入,训练机器学习模型以生成相应的测试用例。数据集的JSON格式文件包含了详细的元数据,便于研究人员进行进一步的分析和处理。此外,数据集还提供了不同层次的上下文表示,研究人员可以根据需要选择适合的输入表示形式,以优化模型的性能。数据集的公开可用性为软件工程领域的研究提供了宝贵的资源。
背景与挑战
背景概述
Methods2Test是由微软研究院的Michele Tufano等人于2022年创建的一个大规模数据集,旨在解决自动化单元测试生成中的关键问题。该数据集包含了780,944对JUnit测试用例与被测方法(focal methods)的映射,这些数据来源于91,385个开源Java项目。Methods2Test的核心研究问题是如何在机器学习模型的支持下,生成语义正确且能够捕捉软件缺陷的自动化单元测试。该数据集的创建不仅填补了自动化测试生成领域中大规模、高质量数据集的空白,还为研究人员提供了丰富的元数据和多层次的上下文信息,以支持模型的训练与评估。
当前挑战
Methods2Test在构建过程中面临的主要挑战之一是如何建立测试用例与被测方法之间的可靠映射。为此,研究人员设计了一系列基于开发者最佳实践的启发式方法,如类和方法命名约定,以确保映射的准确性。此外,数据集的构建还面临数据噪声问题,错误的映射可能会影响模型的学习效果。另一个挑战是数据集目前仅包含JUnit测试用例,限制了其在Java项目中的应用,未来需要扩展到其他编程语言和测试框架。最后,数据集的扩展性也是一个重要问题,未来的研究可能需要加入运行时信息和覆盖率数据,以进一步提升数据集的应用价值。
常用场景
经典使用场景
Methods2Test 数据集最经典的使用场景在于自动化单元测试生成。该数据集通过将测试用例与被测方法(focal methods)进行映射,为机器学习模型提供了丰富的训练数据。研究者可以利用这些数据训练模型,生成与开发者编写的测试用例相似的自动化测试代码,从而提高测试覆盖率和代码质量。
衍生相关工作
Methods2Test 数据集的发布催生了一系列相关研究工作。例如,基于该数据集,研究者提出了 AthenaTest 模型,该模型利用 Transformer 架构生成高质量的测试用例。此外,该数据集还为其他软件工程任务提供了基础,如缺陷修复、故障定位和代码注释生成等。这些工作不仅扩展了数据集的应用范围,还推动了软件工程领域中机器学习技术的进一步发展。
数据集最近研究
最新研究方向
近年来,Methods2Test数据集在软件工程领域引起了广泛关注,尤其是在自动化单元测试生成方面。该数据集通过将测试用例与对应的焦点方法(focal methods)进行映射,为机器学习模型提供了丰富的训练数据。研究者们利用这一数据集,探索了如何通过深度学习技术生成高质量的单元测试,尤其是在代码覆盖率和故障检测能力方面。此外,Methods2Test还支持多层次的上下文信息提取,使得模型能够更好地理解代码的语义结构,从而生成更具可读性和维护性的测试用例。这一研究方向不仅推动了自动化测试技术的发展,也为软件开发过程中的质量保障提供了新的工具和方法。
相关研究论文
  • 1
    Methods2Test: A dataset of focal methods mapped to test cases微软雷德蒙德研究院 · 2022年
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
点击留言
数据主题
具身智能
数据集  4098个
机构  8个
大模型
数据集  439个
机构  10个
无人机
数据集  37个
机构  6个
指令微调
数据集  36个
机构  6个
蛋白质结构
数据集  50个
机构  8个
空间智能
数据集  21个
机构  5个
5,000+
优质数据集
54 个
任务类型
进入经典数据集
热门数据集

LFW

人脸数据集;LFW数据集共有13233张人脸图像,每张图像均给出对应的人名,共有5749人,且绝大部分人仅有一张图片。每张图片的尺寸为250X250,绝大部分为彩色图像,但也存在少许黑白人脸图片。 URL: http://vis-www.cs.umass.edu/lfw/index.html#download

AI_Studio 收录

中国区域交通网络数据集

该数据集包含中国各区域的交通网络信息,包括道路、铁路、航空和水路等多种交通方式的网络结构和连接关系。数据集详细记录了各交通节点的位置、交通线路的类型、长度、容量以及相关的交通流量信息。

data.stats.gov.cn 收录

中国行政区划数据

本项目为中国行政区划数据,包括省级、地级、县级、乡级和村级五级行政区划数据。数据来源于国家统计局,存储格式为sqlite3 db文件,支持直接使用数据库连接工具打开。

github 收录

MOOCs Dataset

该数据集包含了大规模开放在线课程(MOOCs)的相关数据,包括课程信息、用户行为、学习进度等。数据主要用于研究在线教育的行为模式和学习效果。

www.kaggle.com 收录

YOLO-dataset

该数据集用于训练YOLO模型,包括分类、检测和姿态识别模型。目前支持v8版本,未来计划支持更多版本。

github 收录