five

MCMD, MCMD-New

收藏
arXiv2025-02-26 更新2025-02-28 收录
下载链接:
https://github.com/wuyifan18/LLM4CMG
下载链接
链接失效反馈
官方服务:
资源简介:
MCMD数据集是一个在提交信息生成任务中广泛使用的多语言数据集,包含C++、C#、Java、Python和JavaScript五种编程语言,收集了GitHub上星级最高的100个仓库中的提交信息。MCMD-New数据集是为了避免数据泄露问题而创建的新数据集,包含2022年1月1日之后的数据,以及使用不同编程语言的仓库数据。这两个数据集为提交信息生成任务提供了丰富的文本资源。

The MCMD dataset is a widely adopted multilingual dataset for commit message generation tasks, covering five programming languages: C++, C#, Java, Python, and JavaScript. It compiles commit information from the 100 most-starred GitHub repositories. The MCMD-New dataset is a newly constructed dataset designed to mitigate data leakage issues, incorporating data collected after January 1, 2022, as well as repository data using different programming languages. These two datasets provide rich textual resources for commit message generation tasks.
提供机构:
北京大学, 北京, 中国; 蚂蚁集团, 杭州, 中国; 复旦大学, 上海, 中国; 香港中文大学(深圳), 深圳, 中国
创建时间:
2025-02-26
搜集汇总
数据集介绍
main_image_url
构建方式
MCMD数据集的构建采用了从GitHub上收集的提交信息,这些信息来自多个编程语言的项目,包括C++、C#、Java、Python和JavaScript。数据集包含了从顶级星标仓库中提取的提交记录,以及相应的提交消息。为了创建MCMD-New数据集,研究者们收集了2022年1月1日之后的提交数据,以及MCMD数据集中未包含的其他编程语言(如PHP、R、TypeScript、Swift和Objective-C)的提交数据。这两个数据集都经过了过滤,以排除低质量的提交信息,并随机划分成训练集、验证集和测试集。
特点
MCMD数据集的特点在于它包含了多种编程语言的提交信息,这使得数据集在编程语言多样性方面具有优势。MCMD-New数据集进一步扩展了这一特点,通过包含来自不同编程语言的新提交数据,为研究提供了更多的语言多样性。此外,MCMD-New数据集的设计旨在减轻数据泄露的风险,因为它包含了MCMD数据集之后的新提交数据,以及来自不同仓库的提交数据。
使用方法
MCMD数据集和MCMD-New数据集可用于评估和比较提交消息生成模型的效果。这些数据集可以用于训练和测试各种模型,包括基于大型语言模型(LLM)的模型,以及传统的基于检索或基于学习的模型。研究者在使用这些数据集时,可以通过各种评估指标(如BLEU、METEOR、ROUGE-L和Cider)来衡量模型生成提交消息的质量,并结合人工评估和LLM评估来更全面地评估模型的表现。
背景与挑战
背景概述
提交代码更改时,开发人员会以自然语言格式编写简洁的描述性注释,称为提交消息。高质量的提交消息通过提供更改的摘要和背后的原因,极大地促进了软件维护,从而无需详细检查复杂的代码,可能简化了代码审查和相关任务。然而,提交的固有复杂性使得将它们手动总结成简洁的消息变得困难和容易出错。为了解决这些局限性,本研究提出利用大型语言模型 (LLMs) 和上下文学习 (ICL)。LLMs 在大量未标记的语料库上进行自我监督学习,从而获得了大量知识。考虑到语料库中包含大量真实世界的提交,LLMs 为提交消息生成提供了有希望的途径。此外,ICL,即向 LLMs 提供带有演示的提示,已被证明可以有效地利用 LLMs 内在的知识,并使它们能够在没有模型调整的情况下执行下游任务。本研究通过创建一个名为 MCMD-New 的新数据集来缓解潜在的数据泄漏,并使用六种主流 LLMs 在该数据集上进行了评估。
当前挑战
LLMs 在提交消息生成方面仍然面临一些挑战。首先,LLMs 对不同的提示和演示设置非常敏感,这可能会影响其性能。其次,LLMs 的性能在很大程度上取决于演示的质量,而演示可能不准确或不相关。此外,LLMs 在缺乏上下文知识的情况下可能无法生成正确的提交消息。为了解决这些挑战,本研究提出了一些策略,例如提供高质量的演示、使用更先进的 LLMs 以及探索 LLMs 在代码更改方面的特定设计。
常用场景
经典使用场景
MCMD数据集主要用于代码提交信息的自动生成。开发者在使用版本控制系统提交代码更改时,需要撰写提交信息来描述更改的内容和原因。MCMD数据集包含了大量的代码更改及其对应的提交信息,这些信息可以帮助开发者更好地理解代码更改,从而提高软件维护的效率。此外,MCMD数据集还可以用于训练和评估自动生成提交信息的模型,如基于大型语言模型(LLM)的上下文学习(ICL)模型。通过在MCMD数据集上训练和评估这些模型,研究者可以探索如何利用LLM和ICL技术提高提交信息的生成质量,从而更好地支持软件开发和维护工作。
实际应用
MCMD数据集在实际应用中可以用于自动生成提交信息。开发者可以使用MCMD数据集训练和评估自动生成提交信息的模型,如基于LLM的ICL模型。通过这些模型,开发者可以自动生成高质量的提交信息,从而提高软件维护的效率。此外,MCMD数据集还可以用于研究如何利用LLM和ICL技术提高提交信息的生成质量,从而更好地支持软件开发和维护工作。
衍生相关工作
MCMD数据集的衍生工作主要集中在基于LLM的ICL模型在提交信息生成任务上的应用。研究者利用MCMD数据集训练和评估了多种LLM模型,如GPT-3.5-Turbo、DeepSeek-V2-Chat等,并发现这些模型在提交信息生成任务上取得了显著的性能提升。此外,研究者还探讨了LLM和ICL技术在其他代码相关任务上的应用,如代码审查、即时评论更新等,并取得了有意义的成果。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作