five

PerfCurator

收藏
arXiv2024-06-18 更新2024-08-06 收录
下载链接:
http://arxiv.org/abs/2406.11731v1
下载链接
链接失效反馈
官方服务:
资源简介:
PerfCurator是由密歇根大学迪尔伯恩分校的研究团队创建的一个大规模数据集,专注于收集与性能错误相关的提交记录。该数据集包含114K Python提交、217.9K C++提交和76.6K Java提交,总计约408.5K条记录。创建过程涉及使用PcBERT-KD模型从GitHub仓库中挖掘相关提交。PerfCurator的应用领域主要集中在软件工程研究,特别是性能错误的检测与优化,旨在通过数据驱动的方法提高软件性能和资源利用效率。

PerfCurator is a large-scale dataset created by a research team from the University of Michigan-Dearborn, dedicated to collecting commit records associated with performance bugs. This dataset encompasses 114K Python commits, 217.9K C++ commits, and 76.6K Java commits, amounting to approximately 408.5K records in total. The construction of PerfCurator involved mining relevant commits from GitHub repositories using the PcBERT-KD model. Its primary application domains focus on software engineering research, particularly the detection and optimization of performance bugs, aiming to improve software performance and resource utilization efficiency via data-driven approaches.
提供机构:
密歇根大学迪尔伯恩分校
创建时间:
2024-06-18
搜集汇总
数据集介绍
main_image_url
构建方式
PerfCurator数据集的构建依赖于一个名为PcBERT-KD的125M参数BERT模型,该模型经过训练能够有效分类与性能缺陷相关的代码提交。研究者通过在50个节点的CPU集群上部署PerfCurator工具,大规模挖掘GitHub仓库中的代码提交,最终构建了一个包含Python、C++和Java三种编程语言的性能缺陷修复提交数据集。具体而言,数据集包含了114K个Python提交、217.9K个C++提交和76.6K个Java提交。这一构建过程不仅依赖于自动化工具,还通过人工验证确保了数据的高质量。
特点
PerfCurator数据集的特点在于其规模庞大且覆盖了多种编程语言,能够为性能缺陷检测提供丰富的训练数据。数据集中的每个提交都经过PcBERT-KD模型的分类,确保了提交与性能缺陷修复的相关性。此外,数据集还包含了多种性能缺陷类型,如内存优化、算法优化和API误用等,能够为研究者提供多样化的性能缺陷场景。数据集的构建过程还通过去重策略确保了数据的唯一性,进一步提升了数据的质量。
使用方法
PerfCurator数据集的使用方法主要围绕性能缺陷检测和修复展开。研究者可以利用该数据集训练和评估性能缺陷检测模型,尤其是基于数据驱动的检测系统。数据集中的提交信息、代码变更和元数据为模型提供了丰富的上下文信息,有助于提高检测的准确性。此外,数据集还可以用于分析不同编程语言中性能缺陷的分布和特征,帮助开发者识别常见的性能瓶颈。通过结合LLM等先进技术,研究者还可以进一步探索性能缺陷的自动修复方法。
背景与挑战
背景概述
PerfCurator数据集由密歇根大学迪尔伯恩分校的研究团队于2024年提出,旨在解决软件工程领域中的性能缺陷问题。性能缺陷是软件开发中的常见挑战,它们不仅降低软件性能,还浪费计算资源,影响用户体验并增加开发和维护成本。尽管性能缺陷的修复对软件优化至关重要,但现有的大规模开源性能缺陷数据集极为稀缺。PerfCurator通过从GitHub等公共代码库中挖掘与性能缺陷相关的提交,构建了一个包含Python、C++和Java三种编程语言的大规模数据集,涵盖了超过40万条性能缺陷修复提交。该数据集的创建为性能缺陷检测系统的开发提供了重要支持,推动了数据驱动的性能优化研究。
当前挑战
PerfCurator数据集在构建过程中面临多重挑战。首先,性能缺陷的识别本身具有复杂性,传统的基于关键词的过滤方法存在较高的误报率和漏报率,难以准确捕捉性能相关的提交。其次,数据集的构建需要处理海量的代码提交,手动标注这些提交不仅耗时且容易出错。为此,研究团队开发了基于PcBERT-KD模型的自动化分类工具,该模型通过知识蒸馏技术从大型语言模型中提取知识,能够在保持高精度的同时显著降低计算开销。然而,尽管PcBERT-KD在性能上优于传统方法,其训练和部署仍需要大量的计算资源,尤其是在大规模代码库的挖掘过程中。此外,数据集的多样性和代表性也是一个重要挑战,研究团队通过分层随机采样和多语言支持来确保数据集的广泛适用性。
常用场景
经典使用场景
PerfCurator数据集在软件工程领域中被广泛用于性能缺陷的检测与修复研究。该数据集通过从GitHub等公共代码库中大规模挖掘与性能缺陷相关的提交记录,为研究人员提供了丰富的性能缺陷修复案例。这些案例涵盖了Python、C++和Java等多种编程语言,帮助研究者深入分析性能缺陷的成因及其修复策略。
衍生相关工作
PerfCurator数据集的发布催生了一系列相关研究工作,特别是在性能缺陷检测和修复领域。例如,基于该数据集的研究开发了LLMAPIDet等工具,用于检测API误用导致的性能问题。此外,该数据集还被用于训练轻量级语言模型,以在低计算资源环境下实现高效的性能缺陷检测,推动了性能优化技术的普及与应用。
数据集最近研究
最新研究方向
近年来,PerfCurator数据集在软件工程领域的研究方向主要集中在性能缺陷的自动化检测与修复上。随着软件系统的复杂性不断增加,性能缺陷成为影响软件质量和用户体验的关键问题。PerfCurator通过大规模挖掘GitHub仓库中的性能缺陷修复提交,构建了一个涵盖Python、C++和Java等多种编程语言的性能缺陷数据集。这一数据集为研究人员提供了丰富的实验数据,推动了基于数据驱动的性能缺陷检测工具的开发。当前的研究热点包括利用大语言模型(LLMs)进行性能缺陷的自动分类与修复建议生成,以及通过知识蒸馏技术优化模型的计算效率。这些研究不仅提升了性能缺陷检测的准确性,还显著降低了计算资源的消耗,为实际应用中的性能优化提供了有力支持。PerfCurator数据集的广泛应用,进一步推动了软件性能工程领域的技术创新与实践发展。
相关研究论文
  • 1
    PerfCurator: Curating a large-scale dataset of performance bug-related commits from public repositories密歇根大学迪尔伯恩分校 · 2024年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作