返回
Capturing the context-aware code change via dynamic control flow graph for commit message generation
DOI:10.1007/s10994-024-06671-3.png)
摘要
En 中文
用自然语言总结每个提交代码变更的提交信息,有助于开发人员在不深入实现细节的情况下理解代码变更,因此在理解软件演化方面发挥着关键作用。在构建自动生成提交信息的模型时,先前的研究主要关注从变更的代码片段(即代码差异)中提取信息,而忽略了未变更的代码片段(即代码上下文)。然而,大多数研究往往忽视了代码变更是上下文感知的,即代码差异的语义高度依赖于其代码上下文。为了考虑代码上下文,出现了一个关键挑战:广泛的代码上下文可能会掩盖微小的代码差异,从而难以捕捉变更的语义,这对提交信息生成是不利的。在本文中,我们提出了动态控制流图(DCFG),它将代码上下文和代码差异结合到一个动态的全局-局部结构中。基于DCFG,我们设计了一个新颖的框架,称为“为提交信息生成捕获上下文感知的代码变更”(C4MG),该框架试图基于相关代码上下文对代码变更的变更语义进行建模,同时避免被大量未变更的代码上下文误导。广泛的实验表明,得益于对上下文感知的代码变更进行建模,C4MG不仅在提交信息生成方面优于当前最先进的开源模型,而且优于大型语言模型(如LLaMA3、GPT-4o和Gemini)。
Keyword:
Machine learning
Commit message generation
Dynamic control flow graph
期刊
IF:
2.9
论文数:
2.7K
被引数:
3.4W
机构
暂无机构信息
引用论文
CoreGen: Contextualized Code Representation Learning for Commit Message Generation
NEUROCOMPUTING
IF6.5
Combining Code Context and Fine-grained Code Difference for Commit Message Generation结合代码上下文和细粒度代码差异进行提交信息生成

