ZHENGRAN/code_ujb_testgen
收藏Hugging Face2024-02-27 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/ZHENGRAN/code_ujb_testgen
下载链接
链接失效反馈官方服务:
资源简介:
---
dataset_info:
features:
- name: test_class_signature
dtype: string
- name: function
dtype: string
- name: prompt_complete_with_comment
dtype: string
- name: location
dtype: string
- name: be_test_import_context
dtype: string
- name: be_test_class_function_signature_context
dtype: string
- name: end
dtype: int64
- name: function_name
dtype: string
- name: prompt_chat_with_comment
dtype: string
- name: start
dtype: int64
- name: prompt_complete
dtype: string
- name: comment
dtype: string
- name: bug_id
dtype: int64
- name: be_test_class_long_name
dtype: string
- name: source_dir
dtype: string
- name: prompt_chat
dtype: string
- name: be_test_class_signature
dtype: string
- name: test_import_context
dtype: string
- name: test_class_function_signature_context
dtype: string
- name: task_id
dtype: string
- name: testmethods
sequence: string
- name: be_test_class_field_context
dtype: string
- name: function_signature
dtype: string
- name: test_class_field_context
dtype: string
- name: project
dtype: string
- name: source
dtype: string
- name: indent
dtype: string
- name: classmethods
list:
- name: be_test_class_file
dtype: string
- name: be_test_class_name
dtype: string
- name: be_test_function_name
dtype: string
- name: be_test_function_signature
dtype: string
- name: line_numbers
sequence: string
- name: method_line_rate
dtype: float64
splits:
- name: train
num_bytes: 9537122
num_examples: 140
download_size: 1701724
dataset_size: 9537122
configs:
- config_name: default
data_files:
- split: train
path: data/train-*
---
数据集信息:
特征字段:
- 名称:测试类签名(test_class_signature),数据类型:字符串
- 名称:函数(function),数据类型:字符串
- 名称:带注释补全提示(prompt_complete_with_comment),数据类型:字符串
- 名称:位置(location),数据类型:字符串
- 名称:被测导入上下文(be_test_import_context),数据类型:字符串
- 名称:被测类函数签名上下文(be_test_class_function_signature_context),数据类型:字符串
- 名称:结束位置(end),数据类型:int64
- 名称:函数名(function_name),数据类型:字符串
- 名称:带注释对话提示(prompt_chat_with_comment),数据类型:字符串
- 名称:起始位置(start),数据类型:int64
- 名称:补全提示(prompt_complete),数据类型:字符串
- 名称:注释(comment),数据类型:字符串
- 名称:缺陷ID(bug_id),数据类型:int64
- 名称:被测类完整名称(be_test_class_long_name),数据类型:字符串
- 名称:源目录(source_dir),数据类型:字符串
- 名称:对话提示(prompt_chat),数据类型:字符串
- 名称:被测类签名(be_test_class_signature),数据类型:字符串
- 名称:测试导入上下文(test_import_context),数据类型:字符串
- 名称:测试类函数签名上下文(test_class_function_signature_context),数据类型:字符串
- 名称:任务ID(task_id),数据类型:字符串
- 名称:测试方法(testmethods),数据类型:字符串序列
- 名称:被测类字段上下文(be_test_class_field_context),数据类型:字符串
- 名称:函数签名(function_signature),数据类型:字符串
- 名称:测试类字段上下文(test_class_field_context),数据类型:字符串
- 名称:项目(project),数据类型:字符串
- 名称:源代码(source),数据类型:字符串
- 名称:缩进(indent),数据类型:字符串
- 名称:类方法(classmethods),数据类型:列表,列表内元素结构:
- 名称:被测类文件(be_test_class_file),数据类型:字符串
- 名称:被测类名(be_test_class_name),数据类型:字符串
- 名称:被测函数名(be_test_function_name),数据类型:字符串
- 名称:被测函数签名(be_test_function_signature),数据类型:字符串
- 名称:行号(line_numbers),数据类型:字符串序列
- 名称:方法行占比(method_line_rate),数据类型:float64
数据划分:
- 名称:训练集(train),字节占用量:9537122,样本数量:140
下载大小:1701724
数据集总大小:9537122
配置项:
- 配置名称:default,数据文件:
- 数据划分:train,路径:data/train-*
提供机构:
ZHENGRAN原始信息汇总
数据集信息
特征
- test_class_signature: 字符串
- function: 字符串
- prompt_complete_with_comment: 字符串
- location: 字符串
- be_test_import_context: 字符串
- be_test_class_function_signature_context: 字符串
- end: 整数64位
- function_name: 字符串
- prompt_chat_with_comment: 字符串
- start: 整数64位
- prompt_complete: 字符串
- comment: 字符串
- bug_id: 整数64位
- be_test_class_long_name: 字符串
- source_dir: 字符串
- prompt_chat: 字符串
- be_test_class_signature: 字符串
- test_import_context: 字符串
- test_class_function_signature_context: 字符串
- task_id: 字符串
- testmethods: 字符串序列
- be_test_class_field_context: 字符串
- function_signature: 字符串
- test_class_field_context: 字符串
- project: 字符串
- source: 字符串
- indent: 字符串
- classmethods: 列表
- be_test_class_file: 字符串
- be_test_class_name: 字符串
- be_test_function_name: 字符串
- be_test_function_signature: 字符串
- line_numbers: 字符串序列
- method_line_rate: 浮点数64位
数据分割
- train:
- 字节数: 9537122
- 样本数: 140
数据集大小
- 下载大小: 1701724 字节
- 数据集大小: 9537122 字节
配置
- default:
- 数据文件:
- 分割: train
- 路径: data/train-*
- 数据文件:
搜集汇总
数据集介绍

构建方式
在软件工程领域,自动化测试生成是提升代码质量与开发效率的关键环节。ZHENGRAN/code_ujb_testgen数据集正是为支撑这一目标而精心构建的,其核心聚焦于Java单元测试的生成任务。该数据集的构建基于对多个开源Java项目的深入挖掘,通过解析源代码中的类、方法签名、字段上下文及导入依赖等结构信息,系统性地提取出待测试类(be_test_class)与对应测试类之间的关联。每条数据实例均包含详尽的上下文特征,如函数签名、注释内容、导入上下文以及测试方法列表,从而为模型提供丰富的语义线索。数据集的划分仅包含训练集,共计140个样本,确保了数据的高质量和针对性。
使用方法
在使用ZHENGRAN/code_ujb_testgen数据集时,研究者可充分利用其丰富的上下文字段来驱动模型生成高质量的单元测试代码。具体而言,可将be_test_class_signature、function_signature及test_import_context等字段拼接成输入序列,以prompt_complete或prompt_chat作为目标输出,训练模型在给定待测试代码结构的前提下自动生成对应的测试方法。数据集以Parquet格式存储,可通过HuggingFace的datasets库直接加载,并利用其train划分进行微调。由于样本数量有限,建议结合数据增强或迁移学习策略以提升模型泛化能力。此外,通过解析classmethods列表中的method_line_rate,可对生成测试的覆盖率进行后验评估,从而指导模型的迭代优化。
背景与挑战
背景概述
在软件工程领域,自动化测试生成一直是提升开发效率与代码质量的核心议题。近年来,随着大语言模型在代码理解与生成任务中展现出卓越性能,如何构建高质量、结构化的数据集以驱动模型学习测试用例的生成逻辑,成为研究热点。ZHENGRAN/code_ujb_testgen数据集由研究团队于近期创建,旨在聚焦于Java项目中单元测试的自动生成任务。该数据集精心收集了来自多个开源项目的函数签名、类上下文、测试方法结构及对应的缺陷标识等信息,形成了包含140条训练样本的精细化资源。其核心研究问题在于探索如何利用上下文感知的提示设计,引导模型精准生成覆盖特定函数与类的测试用例,从而为自动化软件测试领域提供可复用的训练基准。该数据集的发布有望推动代码生成模型在测试领域的泛化能力与鲁棒性研究。
当前挑战
该数据集所面临的挑战首先体现在领域问题的复杂性上:单元测试生成不仅需要理解函数或方法的输入输出逻辑,更需深入捕捉类内部状态、依赖注入及异常路径等隐式约束,这对模型的上下文推理能力提出了极高要求。其次,在构建过程中,研究人员需解决多源异构代码库的标准化难题,例如不同项目间命名惯例、导入上下文长度差异及测试框架风格的不一致性,均可能导致数据噪声。此外,如何从海量代码中精准提取出具有代表性的测试场景(如边界条件与错误处理),并确保训练样本中缺陷标识与测试方法间的因果关联清晰可辨,也是数据构建时遭遇的重大障碍。最后,数据集规模有限(仅140例),如何在小样本条件下避免过拟合并维持模型泛化性,构成了当前应用的核心瓶颈。
常用场景
经典使用场景
在软件工程与程序语言研究领域,自动化测试生成一直是提升代码质量与开发效率的关键挑战。ZHENGRAN/code_ujb_testgen数据集专为Java单元测试生成任务而设计,其经典的使用场景是基于给定的待测类与方法签名,利用大语言模型生成高质量的JUnit测试用例。该数据集提供了丰富的上下文信息,包括待测类的字段、方法签名、导入上下文以及已有的测试类结构,使得模型能够理解代码逻辑与依赖关系,从而生成覆盖率高、语义正确的测试代码。研究人员可借助该数据集训练或微调代码生成模型,探索如何利用结构化提示与代码上下文来提升测试生成的准确性与完整性。
解决学术问题
该数据集有效解决了自动化测试生成中两个核心学术难题:一是如何从有限的代码上下文中推断出合理的测试行为与边界条件,二是如何确保生成的测试代码在语法与语义上均能通过编译并执行。传统基于符号执行或随机测试的方法往往受限于路径爆炸或覆盖率不足,而基于学习的方法则面临训练数据匮乏的瓶颈。ZHENGRAN/code_ujb_testgen通过提供包含真实项目bug修复记录的高质量测试生成样本,使得研究者能够训练模型在复杂类依赖环境下准确生成测试用例。其意义在于推动了代码智能领域中测试生成从规则驱动向数据驱动范式的转变,并为后续的代码理解、缺陷检测与程序修复研究提供了坚实的数据基础。
实际应用
在实际工业应用中,该数据集所驱动的模型可嵌入持续集成与代码审查流程,自动为新增或修改的Java方法生成单元测试,大幅减轻开发者的手工测试编写负担。例如,在大型企业级项目中,当开发人员提交代码变更时,系统可自动调用基于该数据集训练的模型生成相应的测试用例,并集成到测试套件中,从而提升回归测试的覆盖率与效率。此外,该数据集还可用于构建智能代码补全与测试推荐工具,帮助开发者在编码过程中实时获得测试建议,提升整体软件质量与交付速度。
数据集最近研究
最新研究方向
在软件工程领域,自动化测试生成一直是提升代码质量与开发效率的核心议题。ZHENGRAN/code_ujb_testgen数据集聚焦于Java单元测试的智能生成,其丰富的字段设计——涵盖待测类签名、函数上下文、导入环境及测试方法序列——为基于大语言模型的测试用例合成提供了精细化的训练与评估基准。当前前沿研究正围绕如何利用此类结构化代码数据集,结合代码理解与生成技术,提升测试覆盖率和缺陷检测能力。该数据集的发布恰逢AI辅助软件测试的爆发期,其多维度上下文信息有助于模型捕捉类间依赖与业务逻辑,推动从简单语句补全向复杂场景测试生成的跨越,对降低人工编写测试成本、增强软件可靠性具有深远意义。
以上内容由遇见数据集搜集并总结生成



