five

JUGE

收藏
arXiv2022-10-28 更新2024-06-21 收录
下载链接:
https://github.com/JUnitContest/JUGE
下载链接
链接失效反馈
官方服务:
资源简介:
JUGE是由南比利时大学开发的一个Java单元测试生成基准测试基础设施,旨在自动化单元测试的生产,支持验证、回归测试和故障定位等多种目的。自2013年以来,已有超过十个来自学术界和工业界的工具在该平台上进行了评估,帮助识别未来的研究方向。JUGE通过标准化评估和比较过程,旨在减少整体基准测试工作量,促进学术界和工业界之间的知识转移。

JUGE is a Java unit test generation benchmark infrastructure developed by the University of Southern Belgium. It is designed to automate unit test generation, supporting multiple objectives such as software verification, regression testing, and fault localization. Since 2013, more than ten tools from both academia and industry have been evaluated on this platform, which has helped identify future research directions. Through standardized evaluation and comparison processes, JUGE aims to reduce overall benchmarking workload and facilitate knowledge transfer between academia and industry.
提供机构:
南比利时大学
创建时间:
2021-06-14
搜集汇总
数据集介绍
main_image_url
构建方式
在软件测试领域,自动化单元测试生成器的评估面临标准化不足的挑战。JUGE基础设施通过设计一个可扩展且可配置的框架来应对这一挑战,其构建基于Docker容器化技术,确保生成器执行的隔离性与平台独立性。该框架采用适配器机制,通过标准化通信协议连接测试生成器与评估核心,支持黑盒、白盒和灰盒测试生成器的集成。评估过程涵盖测试生成、覆盖率分析和突变分析,并允许自定义基准测试集,从而实现了评估流程的系统化与可重复性。
特点
JUGE的显著特点在于其高度标准化与可扩展性,能够无缝集成多种单元测试生成器,包括基于搜索、随机和符号执行等不同技术。该基础设施通过容器化技术保障了执行环境的隔离性,避免了生成器间的相互干扰,同时支持并行化处理以提升评估效率。JUGE内置了结构覆盖率与突变分析功能,并采用统计方法进行结果比较,确保了评估的科学性与严谨性。此外,其开放式架构允许用户灵活添加新的度量指标,适应多样化的研究需求。
使用方法
使用JUGE进行单元测试生成器评估时,用户需首先配置基准测试集,定义待测类及其依赖项。随后,通过实现标准化适配器接口,将目标生成器集成到JUGE框架中。评估过程中,用户可设定时间预算与重复执行次数,以平衡性能与统计效力。JUGE自动执行测试生成、覆盖率计算和突变分析,并生成详细的结果报告。最终,所有生成数据可归档为可复现的研究工件,支持后续分析与比较。
背景与挑战
背景概述
在软件测试领域,自动化测试用例生成技术的研究日益深入,旨在提升测试效率与软件可靠性。JUGE(JUnit Generation Benchmarking Infrastructure)作为Java单元测试生成器的基准测试基础设施,由Xavier Devroey等学者于2022年正式提出,其核心研究问题聚焦于如何系统化评估与比较不同自动化测试生成工具的性能。该基础设施自2013年起,伴随搜索式软件测试研讨会(SBST)的工具竞赛逐步演进,整合了学术界与工业界的多种生成器,如基于搜索的EvoSuite、随机测试的Randoop等,通过标准化评估流程,显著降低了基准测试的复杂度,促进了单元测试生成技术的知识转移与实证研究。JUGE的灵活架构支持黑盒、白盒与灰盒测试生成器的集成,其影响力体现在推动测试生成工具的成熟化与研究方向的前瞻性探索。
当前挑战
JUGE所应对的领域挑战在于自动化单元测试生成器的性能评估与比较,这涉及解决测试覆盖度、变异分数等核心指标的量化分析难题。构建过程中,基础设施需满足多重技术要求:一是可扩展性与可配置性(C1),以适配不同生成器的技术多样性;二是执行隔离性(C2),通过容器化技术避免生成器对宿主系统的副作用;三是性能与可扩展性(C3),确保在分布式环境中高效处理大规模评估;四是标准化(C4),实现评估过程的可重复性与结果可复现性。此外,基准测试的选择需兼顾代表性、多样性与挑战性,以降低外部效度威胁,而生成器元参数的合理配置与测试分析工具的兼容性亦构成技术实施中的关键障碍。
常用场景
经典使用场景
在软件测试领域,自动化单元测试生成器的性能评估长期面临标准化缺失的挑战。JUGE作为JUnit生成基准测试基础设施,其经典使用场景体现在为各类Java单元测试生成器提供统一的评估框架。该框架通过容器化技术隔离不同生成器的执行环境,支持对基于搜索、随机、符号执行等多元技术的工具进行系统化横向比较。研究者可借助JUGE在受控环境中执行大规模实证评估,通过结构覆盖率与变异分数等量化指标,客观衡量不同生成器在相同时间预算下的效能表现。
衍生相关工作
JUGE的标准化评估范式催生了系列重要衍生研究。基于该基础设施的十年竞赛数据,研究者开展了针对搜索基测试生成算法效能的纵向比较分析,揭示了DYNAMOSA等进化算法在复杂代码结构上的优势。同时,JUGE启发了对自动生成测试用例可读性、测试异味分布等质量属性的系统性探究,如Panichella等人通过复用JUGE评估数据,修正了先前关于自动生成测试中测试异味普遍性的认知偏差。该框架的设计理念更延伸至Python等动态语言测试生成评估,推动了跨编程语言的测试基准基础设施生态发展。
数据集最近研究
最新研究方向
在软件测试领域,JUGE作为Java单元测试生成器的基准测试基础设施,其最新研究方向聚焦于推动自动化测试技术的标准化评估与比较。随着人工智能与搜索式软件测试技术的深度融合,JUGE通过容器化架构支持多样化测试生成器(如基于搜索、随机或符号执行的方法)的集成,促进了学术界与工业界在单元测试生成工具上的知识转移。前沿研究热点包括利用JUGE进行大规模实证评估,以优化测试生成算法在代码覆盖率和变异分数上的表现,同时探索测试用例的可读性、执行效率等质量属性的自动化分析。这些进展不仅强化了软件测试实证研究的可复现性,还为复杂系统(如自动驾驶、物联网平台)的测试管道构建提供了方法论基础,推动了软件工程领域向证据驱动的实践范式演进。
相关研究论文
  • 1
    JUGE: An Infrastructure for Benchmarking Java Unit Test Generators南比利时大学 · 2022年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作