← 研踪 PaperTrail软件学报:jos:7736 · 记录 #1
代码差异表示在代码提交信息生成中的有效性实证研究
来源日期 2026-11-04
来源记录日期 2026-11-04
雷达观测 2026-11-05 00:17
摘要
提交信息生成(commit message generation, CMG)是软件演化与维护领域的重要任务, 其目标是依据给定的代码差异自动生成提交信息. 目前CMG方法普遍基于Git原生差异格式GitDiff构造输入, 该格式通过固定大小的上下文窗口展示变更行附近的代码片段. 然而, 代码差异的表示方式并非唯一, 通过扩大上下文范围可以构造信息更完整的代码差异表示. 具体地, 构建两种不同上下文范围的差异表示形式, 并围绕差异表示形式对CMG质量的影响开展实证研究. 实验使用现有CMG研究常用的MCMD数据集, 选取6种代表性CMG方法, 使用多种度量来分析3种代码差异表示对于CMG方法的效果影响. 实验结果表明, 尽管 GitDiff 在整体平均指标上略占优势, 但其样本胜率(41.5%)并未构成压倒性领先, 表明不同差异表示在不同代码语境下存在明显性能差异. 此外, 差异表示的选择会影响CMG模型性能比较结论, 在25%–50%的样本中, 基于GitDiff得到的模型优劣排序在切换至其他表示后会发生变化, 说明仅依赖单一代码差异表示所得模型性能结论可能存在偏差. 进一步研究发现, 当变更行依赖的关键语义单元超出GitDiff固定上下文窗口的覆盖范围时, 补全这些缺少的关键语义单元可以在一定程度上提升提交信息生成质量. 对此类场景进行系统归纳, 可为实践中代码差异表示的选择提供参考.
论文发现出处
这些页面提供论文线索,不代表同行评审或质量认证。
发表信息与关联版本
软件学报 ↗2026 · 正式发表 · DOI: 10.13328/j.cnki.jos.007736
观测到的版本
平台记录号代表本站观测到的元数据变化,不是作者修订号。来源日期仅到月份或年份时,按该月或该年首日存档。
记录 #1 · 2026-11-04 · 最新观测版本
代码差异表示在代码提交信息生成中的有效性实证研究
提交信息生成(commit message generation, CMG)是软件演化与维护领域的重要任务, 其目标是依据给定的代码差异自动生成提交信息. 目前CMG方法普遍基于Git原生差异格式GitDiff构造输入, 该格式通过固定大小的上下文窗口展示变更行附近的代码片段. 然而, 代码差异的表示方式并非唯一, 通过扩大上下文范围可以构造信息更完整的代码差异表示. 具体地, 构建两种不同上下文范围的差异表示形式, 并围绕差异表示形式对CMG质量的影响开展实证研究. 实验使用现有CMG研究常用的MCMD数据集, 选取6种代表性CMG方法, 使用多种度量来分析3种代码差异表示对于CMG方法的效果影响. 实验结果表明, 尽管 GitDiff 在整体平均指标上略占优势, 但其样本胜率(41.5%)并未构成压倒性领先, 表明不同差异表示在不同代码语境下存在明显性能差异. 此外, 差异表示的选择会影响CMG模型性能比较结论, 在25%–50%的样本中, 基于GitDiff得到的模型优劣排序在切换至其他表示后会发生变化, 说明仅依赖单一代码差异表示所得模型性能结论可能存在偏差. 进一步研究发现, 当变更行依赖的关键语义单元超出GitDiff固定上下文窗口的覆盖范围时, 补全这些缺少的关键语义单元可以在一定程度上提升提交信息生成质量. 对此类场景进行系统归纳, 可为实践中代码差异表示的选择提供参考.
查看此版本解读 →查看此版本原文 ↗