Generating Commit Messages from Git Diffs
提交消息帮助开发人员理解不断发展的代码库。然而,开发人员并不总是正确地记录代码更改。自动生成提交消息将减轻开发人员的负担。最近,许多不同的工作已经证明了使用神经机器翻译的方法来生成提交消息的可行性。这项工作的目的是再现在这一领域的一个突出的研究论文,以及试图通过提出一种新的预处理技术来改善他们的结果。参考神经机器翻译模型的复制能够在相同的数据集上实现稍微好一点的结果。然而,当应用更严格的预处理时,性能显著下降。这表明了当前提交消息生成模型的固有缺陷,这些模型通过记忆某些结构来执行。未来的研究方向可能包括改进diff嵌入和关注特定的提交组。
2019-11-26 cs.SE
Recovering Fine-Grained Code Change Rationale from Multiple Software Artifacts
William & Mary(威廉与玛丽学院)
本文研究如何从多个文档中提取代码变更理由,提出ARGUS方法,通过LLM生成简洁的变更理由摘要,提升代码理解和维护效率。
2026-07-31 cs.SE
CoRaCommit: A VS Code Extension for Commit Message Generation with Exemplar Retrieval
School of Computer Science, Wuhan University(武汉大学计算机学院)
提出 CoRaCommit VS Code 扩展,通过检索相似提交范例作为提示上下文、并行调用多个大语言模型生成候选消息并基于用户反馈动态推荐,在 ApacheCM 数据集上优于现有扩展。
2026-06-19 cs.SE
ATOM: Commit Message Generation Based on Abstract Syntax Tree and Hybrid Ranking
提交消息记录代码更改(例如,功能修改和错误修复),并且对于程序理解很有用。在自然语言中。由于软件的频繁更新和时间成本,开发人员通常没有动力为代码更改编写提交消息。因此,自动化消息写入过程是必要的。以往对提交消息生成的研究都是从生成模型或检索模型中获益,但改变了代码的代码结构,即,AST对于捕获代码语义可能很重要,但尚未显式涉及。此外,虽然生成模型具有为新代码更改合成提交消息的优点,但它们不容易弥合代码和自然语言之间的语义鸿沟,而检索模型可以减轻这种鸿沟。在本文中,我们提出了一种新的提交消息生成模型,命名为ATOM,显式地采用抽象语法树表示代码的变化,并通过混合排名集成检索和生成的消息。具体地,混合排名模块可以从关于一个代码改变的检索到的消息和生成的消息中优先考虑最准确的消息。我们评估我们的数据集从56个流行的Java存储库爬上提出的模型ATOM。实验结果表明,在BLEU-4(一种广泛用于评估文本生成系统的准确性度量)方面,ATOM将最先进的模型提高了30.72%。定性分析也证明了ATOM在生成准确的代码提交消息方面的有效性。
2020-11-11 cs.SE
Consider What Humans Consider: Optimizing Commit Message Leveraging Contexts Considered By Human
针对自动化 CMG 遗漏开发者实际依赖上下文的问题,提出 CMO,从人工提交信息出发,结合 LLM、搜索优化、关键上下文与外部评估反馈迭代改进,显著优于现有方法及人工信息。
2025-03-18 cs.SE
An Empirical Study on Commit Message Generation using LLMs via In-Context Learning
本研究通过实证方法探索利用大语言模型和上下文学习生成提交信息,验证其优于现有方法并具备更强泛化能力,为相关研究提供方向。
2025-02-26 cs.SE
Context Conquers Parameters: Outperforming Proprietary LLM in Commit Message Generation
本文研究开源 LLM 能否替代 GPT-4 生成高质量提交信息,并提出基于 4 位量化 8B 开源模型的 OMEGA 方法,通过上下文细化在从业者偏好上超越 GPT-4。
2024-11-01 cs.SE
Using Large Language Models for Commit Message Generation: A Preliminary Study
本文通过实验评估Llama 2和ChatGPT在提交信息生成中的表现,发现大语言模型在人工评估中显著优于现有方法,并揭示了常用自动评估指标的局限性。
2024-01-13 cs.SE
Evaluating Generated Commit Messages with Large Language Models
本研究针对自动生成提交信息评估的难题,提出利用大型语言模型作为自动评估器,实验证明结合思维链推理与少样本演示的LLM评估器能显著优于传统指标并达到接近人类的评估水平,提供了一种可扩展的替代方案。
2025-07-15 cs.SE
CoCoRerank: Towards Conventional Commit Message Generation by Component and Candidate Consistency Reranking
National Key Laboratory for Novel Software Technology, School of Artificial Intelligence, Nanjing University(南京大学人工智能学院新型软件技术国家重点实验室)
CoCoRerank提出基于组件与候选一致性的重排序框架,利用完整CCS格式监督,提升LLM生成提交信息的结构预测与主题质量。
2026-09-28 cs.SE
What Does It Mean and Why Should I Bother? Motivating Students to Write Better Commit Messages
University of Szeged(塞格德大学);AENSys Ltd.(AENSys有限公司)
本研究针对学生提交信息沟通失效的教学问题,设计了教育游戏WDYM,可提升相关意识与反思,但对提交信息编写实践的改善证据有限,仅适用于研究场景。
2026-08-19 cs.SE
Towards Automatic Generation of Short Summaries of Commits
提交到版本控制系统意味着向系统提交软件更改。每个提交都可以有一个消息来描述提交。已经提出了几种方法来自动生成这样的消息的内容。然而,自动生成的信息的质量远远低于人类所写的。在研究自动生成的信息和人类书写的信息之间的差异时,我们发现82%的人类书写的信息只有一句话,而自动生成的信息通常有多行。此外,我们发现提交消息通常以动词开头,后跟直接宾语。这一发现启发我们在本文中使用“动词+对象”格式来生成简短的提交摘要。我们将方法分为两个部分:动词生成和对象生成。作为我们的第一次尝试,我们训练了一个分类器来将diff分类为动词。在我们继续为提交生成直接对象之前,我们正在寻求社区的反馈。
2017-03-28 cs.SE
On the Informativeness of Security Commit Messages: A Large-scale Replication Study
LTCI, Télécom Paris, Institut Polytechnique de Paris(电信巴黎学院,巴黎理工学院)
研究评估了安全相关提交信息的信息量,发现其通常不足以支持安全补丁的快速分发,且随时间推移信息量持续下降,不同生态系统间存在显著差异。
2026-04-22 cs.SE
Delving into Commit-Issue Correlation to Enhance Commit Message Generation Models
针对提交信息生成缺乏变更原因的问题,本文构建提交-问题关联数据集,并提出 \ ool 训练范式,将问题中的理据引入多种 CMG 模型且显著提升性能。
2023-09-28 cs.SE
Context-Encoded Code Change Representation for Automated Commit Message Generation
本文提出一种结合变更代码及其程序依赖的未变更代码的上下文编码表示方法,克服了现有代码变更表示的局限,显著提升了5种最先进自动化提交信息生成方法的性能。
2023-06-26 cs.SE
Automated Generation of Commit Messages in Software Repositories
针对开发人员因时间和技能问题忽视有效提交信息编写的问题,提出基于ML/NLP的自动化生成方法,采用TF-IDF与Word2Vec的逻辑回归、LSTM等模型,在Liu等人数据集上训练评估,最高BLEU得分为16.82,为提交信息生成提供有效自动化方案。
2025-04-17 cs.SE
On the Relevance of Cross-project Learning with Nearest Neighbours for Commit Message Generation
提交消息在软件维护和演化中起着重要的作用。尽管如此,开发人员通常不会产生高质量的消息。近年来已经提出了许多提交消息生成方法来解决这个问题。这些方法中的一些基于神经机器翻译(NMT)技术。研究表明,最近邻算法(NNGen)优于现有的基于NMT的方法,虽然NNGen比NMT更简单,更快。在本文中,我们表明,NNGen不利用跨项目学习的大多数情况下。我们还表明,现有的NNGen方法有一个更简单,更快的变化,在BLEU_4评分方面优于它,而不使用跨项目学习。
2020-10-05 cs.SE
CoRaCMG: Contextual Retrieval-Augmented Framework for Commit Message Generation
School of Computer Science, Wuhan University(武汉大学计算机学院)
本文提出CoRaCMG框架,通过检索相似diff-消息对增强LLM生成提交信息的精度和信息量,实验表明其在BLEU、ROUGE-L、METEOR和CIDEr四项指标上显著提升性能。
2026-04-27 cs.SE
On the Use of Commit Messages for Corrective Software Maintenance: A Systematic Mapping Study
Télécom Paris, Institut Polytechnique de Paris(巴黎电信学院,巴黎理工学院)
本文通过系统映射研究97篇2004至2025年发表的文献,探讨提交信息在纠正性维护中的应用,发现提交信息在 bug 分析和修复识别中作用显著,但其他领域如自动程序修复研究较少。
2026-03-31 cs.SE
Contextual Code Retrieval for Commit Message Generation: A Preliminary Study
本文提出 C3Gen,通过从仓库检索提交相关代码片段补充 diff 上下文,提升多模型提交信息生成质量,并结合主客观与人工评估验证其效果。
2025-07-23 cs.SE
Evaluating Commit Message Generation: To BLEU Or Not To BLEU?
提交消息在一些软件工程任务中起着重要的作用,例如程序理解和理解程序演化。然而,程序员忽略了编写好的提交消息。因此,已经提出了若干提交消息生成(CMG)工具。我们观察到,最新的CMG工具使用简单且易于计算的自动评估指标,如BLEU4或其变体。机器翻译(MT)领域的进展表明BLEU 4及其变体存在一些弱点。他们还提出了其他几个评估自然语言生成(NLG)工具的指标。在这项工作中,我们讨论了各种MT指标的CMG任务的适用性。基于我们的实验的见解,我们提出了一个新的变种,专门用于评估CMG任务。我们根据新的指标重新评估了CMG工具的最新水平。我们相信,我们的工作解决了一个重要的差距,存在于CMG研究的评价指标的理解。
2022-04-20 cs.SE
RAG-Enhanced Commit Message Generation
本文提出REACT框架,通过混合检索器检索代码差异与提交信息示例,结合微调与上下文学习增强PLMs和LLMs的提交信息生成性能,显著超越基线。
2024-10-03 cs.SE
Evaluating a bot detection model on git commit messages
为了防止大规模社会技术实证分析中的偏见,检测分布式软件开发活动中机器人的存在是非常重要的。在以前的工作中,我们提出了一个分类模型,根据GitHub帐户的pull请求和issue评论来检测GitHub存储库中的机器人。目前的研究基于提交消息对git贡献者进行了概括。我们在一个包含6,922个git贡献者的大型数据集上对分类模型进行了训练和评估。基于pull request和issue comments的原始模型在此数据集上获得了0.77的精度。在git commit消息上重新训练分类模型将精度提高到0.80。作为概念验证,我们在BoDeGiC中实现了这个模型,BoDeGiC是一个开源命令行工具,用于检测git存储库中的机器人。
2021-03-22 cs.SE
Brevity is the Soul of Wit: Condensing Code Changes to Improve Commit Message Generation
本文提出用包含概括变更、提炼注释和强调标识符的简洁模板压缩代码变更,并微调CodeLlama-7B生成提交信息,在多个指标上显著优于基线。
2025-09-19 cs.SE
What Makes a Good Commit Message?
协作软件开发中的一个关键问题是开发人员之间的沟通。一种通信方式是提交消息,开发人员在其中描述他们在存储库中所做的更改。因此,提交消息作为一种“审计跟踪”,开发人员可以通过它了解项目的源代码是如何更改的以及更改的原因。因此,提交消息的质量会影响开发人员之间通信的有效性。提交消息通常质量很差,因为开发人员缺乏时间和动力来制作好的消息。已经提出了几种自动方法来生成提交消息。然而,这些都是基于未经策划的数据集,包括相当大比例的措辞拙劣的提交消息。在这个多方法研究中,我们首先定义什么是“好”的提交消息,然后使用来自五个高度活跃的开源项目的近1,600条消息的样本来确定提交消息中缺少信息的比例。我们发现,平均约44%的消息可以得到改进,这表明使用未经策划的数据集可能是使用此类数据训练提交消息生成器时的主要威胁。我们还观察到,以前的工作没有考虑提交消息的语义,并且令人惊讶的是,编写好的提交消息的指导很少。为此,我们开发了一个基于提交消息表达式中重复出现的模式的分类法。最后,我们调查是否可以自动识别“好”的提交消息,这样的自动化可以促使开发人员编写更好的提交消息。
2022-02-07 cs.HC cs.SE
From Commit Message Generation to History-Aware Commit Message Completion
JetBrains Research(JetBrains研究院);JetBrains(JetBrains公司);University of Colorado Boulder(科罗拉多大学博尔德分校)
本文提出历史感知的提交信息补全任务,构建涵盖20种语言、1070万次提交的 CommitChronicle 数据集,并验证历史上下文可提升 CMG 模型与 GPT-3.5-turbo 的表现。
2023-08-15 cs.LG cs.SE
On the Rationale and Use of Assertion Messages in Test Code: Insights from Software Practitioners
本文通过调查138名专业软件从业者,研究断言消息的使用目的、编写挑战与维护方式,并为高质量断言消息及自动化测试工具改进提供指南。
2024-08-03 cs.SE
18 Million Links in Commit Messages: Purpose, Evolution, and Decay
本文大规模研究了23110个GitHub仓库提交中1820万条链接,发现链接引用普遍但易衰减,70%的不同链接遭受衰减,与代码中链接命运相同。
2023-05-26 cs.SE
Automatically Generating Commit Messages from Diffs using Neural Machine Translation
University of Notre Dame(圣母大学)
提交消息是理解软件演化的宝贵资源,因为它们提供了诸如功能添加和错误修复之类的更改记录。不幸的是,程序员经常忽视编写好的提交消息。已经提出了不同的技术来帮助程序员自动编写这些消息。这些技术在描述变更内容方面是有效的,但通常是冗长的,并且缺乏理解变更背后的基本原理的上下文。相比之下,人类写的信息很短,总结了高层次的理由。在本文中,我们采用神经机器翻译(NMT)来自动“翻译”差异到提交消息。我们使用来自前1k个Github项目的差异和人类编写的提交消息的语料库训练了一个NMT算法。我们设计了一个过滤器来帮助确保我们只在更高质量的提交消息上训练算法。我们的评估揭示了一种模式,在这种模式中,我们生成的消息往往要么质量很高,要么质量很低。因此,我们创建了一个质量保证过滤器来检测我们无法生成好消息的情况,并返回一个警告。
2017-08-30 cs.CL cs.SE
LLM-Enhanced Commit Message Generation via Issue Information: An Exploratory Study
School of Computer Science, Wuhan University(武汉大学计算机学院)
该研究提出ISAC框架,将代码差异与问题信息结合作为LLM输入生成提交消息,经实验验证其性能优于现有基线,且纳入问题信息可提升CMG效果。
2026-08-25 cs.SE
RACE: Retrieval-Augmented Commit Message Generation
Xi’an Jiaotong University(西安交通大学);Sun Yat-sen University(中山大学);Fudan University(复旦大学);Microsoft Research(微软研究院);The University of Newcastle(纽卡斯尔大学)
提交消息对于软件开发和维护非常重要。许多基于神经网络的方法已经被提出并在自动提交消息生成方面显示出有希望的结果。但是,生成的提交消息可能是重复的或冗余的。在本文中,我们提出了RACE,一种新的检索增强神经提交消息生成方法,它将检索到的类似提交作为范例,并利用它来生成准确的提交消息。由于检索到的提交消息可能并不总是准确地描述当前代码差异的内容/意图,我们还提出了一个范例引导器,它学习检索到的和当前代码差异之间的语义相似性,然后基于相似性引导提交消息的生成。我们在一个大型公共数据集上用五种程序设计语言进行了广泛的实验。实验结果表明,RACE算法的性能优于所有的基线算法。此外,RACE可以提高现有Seq 2Seq模型在提交消息生成中的性能。
2022-10-22 cs.AI cs.LG cs.SE
CommitBench: A Benchmark for Commit Message Generation
Hasso Plattner Institute(哈索·普拉特纳研究所);University of Potsdam(波茨坦大学)
针对现有提交消息生成数据集存在的质量差、有偏差等问题,研究构建了遵循最佳实践的大规模基准数据集CommitBench,实验验证源代码预训练的Transformer模型表现最优,并开源代码以推动领域研究。
2024-03-08 cs.CL cs.SE
AI-Powered Commit Explorer (APCE)
Department of Mathematics, Computer Science, and Data Science, Belmont University(数学、计算机科学与数据科学系,贝尔蒙特大学);Department of Computer Science, Drexel University(计算机科学系,德雷塞尔大学);Department of Computer Science, Florida State University(计算机科学系,佛罗里达州立大学)
本文提出APCE工具,支持存储多种LLM提示词、通过额外评估提示词增强提交信息,并提供自动化与人工评估机制,以帮助开发者和研究人员更好地使用和研究LLM生成的提交信息。
2025-07-21 cs.AI cs.SE
ComSum: Commit Messages Summarization and Meaning Preservation
Hebrew University of Jerusalem(耶路撒冷希伯来大学);Acumen Labs
我们提出了ComSum,一个用于文本摘要的700万条提交消息的数据集。在记录提交、软件代码更改时,会发布消息及其摘要。我们收集并过滤这些数据,以管理开发人员的工作总结数据集。随着其规模的不断扩大,实用性和具有挑战性的语言领域,数据集受益于经验软件工程的生活领域。由于提交遵循一种类型学,我们建议不仅通过Rouge评估输出,而且通过它们的含义保存来评估输出。
2021-08-23 cs.CL cs.LG cs.SE
SECOMlint: A linter for Security Commit Messages
透明和有效的漏洞和补丁披露仍然是安全社区的一个挑战,主要是因为缺乏标准导致的低质量文档。SECOM是最近提出的安全提交消息的标准约定,它支持为安全补丁编写结构良好且完整的提交消息。该公约规定了不同的安全相关信息,这些信息对于人类和工具更好地了解漏洞至关重要。SECOMlint是一个自动化和可配置的解决方案,可帮助安全和维护团队在提交源版本控制系统中安全漏洞的补丁时推断是否符合SECOM标准。该工具利用自然语言处理技术命名实体识别(NER)从提交消息中提取与安全相关的信息,并使用它来匹配所设计的合规性标准。我们在https://youtu.be/-1hzpMN_uFI上演示了SECOMlint;在https://tqrg.github.io/secomlint/上演示了文档及其源代码。
2023-01-17 cs.CR cs.SE
Automated Commit Message Generation with Large Language Models: An Empirical Study and Beyond
本研究首次全面评估大语言模型在自动提交信息生成任务中的表现,提出高效检索增强的上下文学习框架ERICommiter,显著提升生成质量与检索效率。
2024-11-06 cs.SE
On the Evaluation of Commit Message Generation Models: An Experimental Study
Fudan University(复旦大学);Microsoft Research Asia(微软亚洲研究院);Xi’an Jiaotong University(西安交通大学);The University of Newcastle(纽卡斯尔大学)
提交消息是代码更改的自然语言描述,对于程序理解和维护非常重要。然而,手动编写提交消息是费时费力的,特别是当代码频繁更新时。已经提出了利用生成或检索技术来自动生成提交消息的各种方法。为了更好地理解现有方法在解决这一问题时的表现,本文对最先进的模型和数据集进行了系统和深入的分析。我们发现:(1)在以前的工作中使用了BLEU度量的不同变体,这影响了对现有方法的评估和理解。(2)大多数现有的数据集只从Java存储库中抓取,而其他程序设计语言的存储库没有得到充分的探索。(3)数据集分割策略可以在很大程度上影响现有模型的性能。一些模型在按提交拆分数据集时表现出更好的性能,而其他模型在按时间戳或项目拆分数据集时表现更好。根据我们的研究结果,我们进行了人工评估,并找到了与任务的人类得分最相关的BLEU指标。我们还收集了一个大规模的、信息丰富的、多语言的提交消息数据集MCMD,并在这个数据集上评估了现有的模型。此外,我们在不同的数据集分割策略下进行了大量的实验,并提出了不同场景下合适的模型。基于实验结果和发现,我们提供了可行的建议,全面评估提交消息生成模型,并讨论可能的未来研究方向。我们相信这项工作可以帮助从业者和研究人员更好地评估和选择自动提交消息生成的模型。
2021-07-26 cs.AI cs.SE
CommitLLM: A Fine-Tuned Pipeline for Git Commit Message Generation
University of Illinois at Chicago(伊利诺伊大学香槟分校)
针对开发人员编写的信息不足的Git提交消息问题,提出CommitLLM管道,通过微调小语言模型、约束解码和后处理,从代码差异生成合规消息,经评估效果良好,后处理对质量提升贡献更大。
2026-07-21 cs.AI cs.SE
A Sketch-Based Neural Model for Generating Commit Messages from Diffs
University Politehnica of Bucharest(布加勒斯特理工大学)
提交消息在软件开发中有着重要的影响,特别是在大型团队中工作时。具有不同写作风格的多个开发人员可能经常参与同一个项目。出于这个原因,可能很难保持编写信息性提交消息的严格模式,最常见的问题是这些消息的描述性不够。在本文中,我们应用神经机器翻译(NMT)技术,将代码差异转换为提交消息,我们提出了一个改进的基于草图的编码器,这项任务。我们将方法分为三个部分。首先,我们专注于找到一个更合适的NMT基线这个问题。其次,我们证明了NMT模型的性能可以通过对包含特定文件类型的示例进行训练来提高。最后,我们介绍了一种新的基于草图的神经模型的灵感来自最近的方法用于代码生成,我们表明,基于草图的编码器显着优于现有的最先进的解决方案。结果突出表明,这种改进是相关的,特别是Java源代码文件,通过检查两个不同的数据集,近年来介绍了这项任务。
2021-04-08 cs.CL cs.SE
COMET: Generating Commit Messages using Delta Graph Context Representation
Dalhousie University(达尔豪斯大学)
针对提交消息生成中上下文捕获不足的问题,提出基于增量图表示和Transformer的Comet方法,在多个指标上优于现有技术及GPT模型,可用于生成上下文感知的提交消息。
2024-02-02 cs.AI cs.CL cs.SE
CoreGen: Contextualized Code Representation Learning for Commit Message Generation
Harbin Institute of Technology, Shenzhen(哈尔滨工业大学(深圳));The Chinese University of Hong Kong(香港中文大学);Sun Yat-Sen University(中山大学);Nanyang Technological University(南洋理工大学)
为代码提交自动生成高质量的提交消息可以大大方便软件开发人员的工作和协调。然而,源代码和自然语言之间的语义鸿沟给这项任务带来了重大挑战。已经提出了一些研究来减轻挑战,但没有明确涉及提交消息生成过程中的代码上下文信息。具体来说,现有的研究采用静态嵌入代码令牌,它将令牌映射到相同的向量,而不管其上下文。在本文中,我们提出了一种新的上下文代码表示学习策略的提交消息生成(CoreGen)。CoreGen首先学习利用代码提交序列背后的上下文信息的上下文化代码表示。在Transformer上构建的代码提交的学习表示然后被微调以用于下游提交消息生成。在基准数据集上的实验表明,我们的模型在BLEU-4评分方面至少提高了28.18%,优于基线模型。此外,我们还强调了未来的机会,在更大的代码语料库作为解决方案,以低资源的任务和适应上下文的代码表示框架,以其他代码到文本生成任务训练上下文的代码表示。
2021-06-21 cs.CL cs.LG cs.SE
KADEL: Knowledge-Aware Denoising Learning for Commit Message Generation
Fudan University(复旦大学);University of Macau(澳门大学);Sun Yat-sen University(中山大学);Chongqing University(重庆大学);Tongji University(同济大学)
本文提出知识感知去噪学习方法 KADEL,利用少量良好实践提交学习提交知识,并通过动态去噪训练为其余样本补充信息,在 MCMD 数据集上取得了最先进的提交信息生成性能。
2024-01-16 cs.AI cs.SE
CodeFuse-CommitEval: Towards Benchmarking LLM's Power on Commit Message and Code Change Inconsistency Detection
Ant Group(蚂蚁集团);The University of Hong Kong(香港大学);Tsinghua University(清华大学);The University of New South Wales(新南威尔士大学)
CodeFuse-CommitEval是首个用于评估LLM检测提交信息与代码变更不一致能力的基准,通过生成七类不一致消息并验证样本,评估六种开源LLM在不同增强策略下的表现,揭示了不同增强方法对模型性能的影响及不同类型不一致的检测差异。
2025-11-25 cs.AI cs.SE
Understanding Emotions of Developer Community Towards Software Documentation
开源项目的可用性促进了开发人员在广泛的项目上做出贡献和协作。因此,为此类开源项目做出贡献的开发人员社区也在增加。许多项目都涉及频繁更新和广泛重复使用。一个更新良好的文档有助于更好地理解软件项目,也有助于有效的贡献和重用。虽然软件文档在软件开发和维护过程中扮演着重要的角色,但它也存在着诸如不充分、不一致、可维护性差等问题,探讨开发人员对文档的看法有助于理解软件文档中普遍存在的问题背后的原因。它可以进一步帮助决定可以向开发人员社区提供的培训,以便为社会建立更可持续的项目。分析项目贡献者的情绪可以为理解开发人员的看法提供见解。因此,作为朝着这个方向迈出的第一步,我们分析了特定于软件项目文档的提交消息的情感。为此,我们考虑了GHTorrent数据集中998个GitHub项目的提交历史,并确定了10,996个提交对应于存储库的文档。此外,我们应用情感分析技术来获得对所选提交的提交消息中表达的情感类型的见解。我们观察到,大约45%的已识别提交消息表达了信任情绪。
2021-03-01 cs.SE
PatchSeeker: Mapping NVD Records to their Vulnerability-fixing Commits with LLM Generated Commits and Embeddings
PatchSeeker利用大语言模型生成提交摘要和嵌入,将NVD漏洞记录映射到修复提交,在基准上比Prospector提升59.3% MRR和27.9% Recall@10。
2025-09-09 cs.CR cs.SE
Code Change Characteristics and Description Alignment: A Comparative Study of Agentic versus Human Pull Requests
Trent University(特伦特大学)
研究比较了代理与人类生成的拉取请求在代码变更特征和描述质量上的差异,发现代理在提交级消息质量上表现更好,但在PR级总结上不如人类,揭示了代理在微观精确性与宏观沟通之间的差距。
2026-01-24 cs.SE
Lore: Repurposing Git Commit Messages as a Structured Knowledge Protocol for AI Coding Agents
本文提出Lore协议,通过Git trailers重构提交信息,生成包含约束、拒绝替代方案、代理指令和验证元数据的自包含决策记录,以解决AI编码代理在代码生产与消费中机构知识流失的问题。
2026-03-16 cs.AI cs.SE cs.SY
Can LLMs Extract Architectural Design Decisions from Source Code Commits? - A Preliminary Exploratory Study
International Institute of Information Technology Hyderabad(海得拉巴国际信息技术学院);Paderborn University(帕德博恩大学)
该研究以30个开源项目的ADDs为样本,测试4种LLMs提取ADDs的效果,发现少样本提示可提升对齐度,但生成结果常缺失决策原理,为架构感知LLM系统研究提供了方向。
2026-09-04 cs.AI cs.SE
The Corrective Commit Probability Code Quality Metric
The Hebrew University of Jerusalem(耶路撒冷希伯来大学)
我们提出了一个代码质量度量,纠正提交概率(CCP),测量的概率,提交反映纠正性维护。我们表明,这个指标符合开发人员的质量,信息和稳定的概念。通过将语言模型应用于提交消息来识别纠正提交。通过将语言模型应用于提交消息来识别纠正提交。我们计算了所有大型活跃GitHub项目的CCP(2019年至少有200个提交的7,557个项目)。这导致了一个质量等级的创建,表明质量最低的10%的项目在修复bug上花费的精力至少是前10%的6倍。对项目属性的分析表明,较低的CCP(较高的质量)与较小的文件,较低的耦合,使用JavaScript和C#等语言而不是PHP和C++,更少的开发人员,更低的开发人员流失,更好的入门和更高的生产力有关。除其他外,这些结果支持“质量是免费的”的说法,并建议实现更高的质量不需要更高的费用。
2020-07-21 cs.LG cs.SE
Evaluating LLM-Based Regression Test Generation
MPI-SP(Max Planck Institute for Software Process Engineering);University of California at Los Angeles(加州大学洛杉矶分校);University of Padua(帕多瓦大学)
研究利用大语言模型为特定程序即时生成回归测试,将其作为机器翻译任务,通过对多个项目测试,反馈导向的零样本原型Cleverest表现良好,还探讨了提交消息对其效果的影响。
2026-07-07 cs.AI cs.SE
Megadiff: A Dataset of 600k Java Source Code Changes Categorized by Diff Size
本文介绍了Megadiff,源代码差异的数据集。它专注于Java,具有严格的基于提交消息和diff大小的包含标准。Megadiff包含663 029个Java差异,可用于研究提交理解、故障定位、自动程序修复和代码更改的机器学习。
2021-08-10 cs.SE
Chat activity is a better predictor than chat sentiment on software developers productivity
最近的研究表明,软件开发人员的积极情绪对软件开发人员的生产力有积极的影响。在本文中,我们调查了两个数据源:开发人员聊天消息(来自Slack和Hipchat)和单个位于同一地点的敏捷团队超过200个工作日的源代码提交。我们的回归分析表明,聊天消息的数量是最好的预测因素,可以预测提交数量和代码行数的生产力,$R^2$分别为0.33和0.27。然后,我们添加情感分析变量,直到我们模型的AIC不再改善,并获得$R^2$值0.37(提交)和0.30(代码行)。因此,分析聊天情绪可以单独提高聊天活动的生产力预测,但差异并不大。这项工作支持了情绪状态和生产力在软件开发中相互联系的观点。我们发现,三个积极的情绪指标,但令人惊讶的是,也有一个消极的情绪指标与更高的生产力。
2020-04-21 cs.SE
Towards Realistic Evaluation of Commit Message Generation by Matching Online and Offline Settings
JetBrains Research(JetBrains研究院);University of Colorado(科罗拉多大学)
本文提出以用户提交前编辑次数为在线标准,构建并扩展656对GPT-4生成与专家编辑提交信息数据集,评估离线相似度指标,发现编辑距离最贴合真实用户偏好。
2025-01-08 cs.HC cs.LG cs.SE
Toward the Automatic Classification of Self-Affirmed Refactoring
Rochester Institute of Technology(罗切斯特理工学院);ETS Montreal, University of Quebec(魁北克大学蒙特利尔工程技术学院)
自我确认重构(SAR)的概念被引入来探索开发人员如何在提交消息中记录他们的重构活动,即,开发人员在代码更改期间有意引入的重构操作的显式文档。在我们之前的研究中,我们已经手动识别了重构模式,并定义了三个主要的常见质量改进类别,包括内部质量属性,外部质量属性和代码气味,只考虑重构相关的提交。然而,这种方法严重依赖于提交消息的手动检查。在本文中,我们提出了一个两步的方法,首先确定一个提交是否描述了开发人员相关的重构事件,然后根据重构常见的质量改进类别进行分类。具体来说,我们结合了N-Gram TF-IDF特征选择与二进制和多类分类器,建立一个新的模型来自动分类的重构的基础上,他们的质量改进类别。我们使用从精心设计的开源Java项目中提取的总共2,867条提交消息来挑战我们的模型。我们的研究结果表明,(1)我们的模型能够准确地分类SAR提交,优于基于模式和随机分类器的方法,并允许发现40个更相关的SAR模式,(2)即使使用相对较小的训练数据集,我们的模型也达到了高达90%的F-测量。
2020-09-19 cs.LG cs.SE