An Empirical Analysis of Git Commit Logs for Potential Inconsistency in Code Clones
本研究针对代码克隆对提交日志分析不足的问题,通过git-log分析Apache基金会45个仓库的克隆提交情况,发现克隆变更频率低、共同变更占比约一半且存在大量潜在不一致克隆对,凸显了克隆全周期一致性管理的必要性。
2024-09-13 cs.SE
ALFAA: Active Learning Fingerprint Based Anti-Aliasing for Correcting Developer Identity Errors in Version Control Data
开发人员网络图对于软件工程的研究和实践具有重要意义。为了让这些图真实地表示网络,准确的开发人员身份是必不可少的。我们的目标是从开源软件存储库中识别开发人员身份错误,调查这些错误的性质,设计纠正算法,并估计这些错误对从这些数据推断的网络的影响。我们使用超过1B的Git提交和超过23M的记录作者身份来调查这些问题。通过检查最频繁出现的作者字符串,我们将标识错误分为几类。然后,我们用3个行为指纹来增加作者字符串:时区频率,修改的文件集,以及提交消息的向量嵌入。我们使用主动学习方法为一部分OpenStack开发人员创建了一组手动验证的身份,并使用它来拟合监督学习模型,以预测OpenStack中剩余作者字符串的身份。我们将这些预测与商业努力和领先的研究方法进行比较。最后,我们比较网络措施的文件诱导作者网络的基础上校正和原始数据。我们发现来自不同环境的提交、拼写错误、组织ID、默认值和匿名ID是错误的主要来源。我们还发现,与现有方法相比,监督学习方法可以将错误减少数倍,而主动学习方法是创建验证数据集的有效方法,并且开发人员身份的纠正对社交网络的推理有很大影响。我们相信,我们提出的主动学习基于指纹的抗锯齿(ALFAA)的方法将加快研究进展,在软件工程领域的应用程序,依赖于开发人员或其他社交网络的图形。
2019-01-10 cs.SE
Analysis of Commit Signing on Github
University of Tennessee(田纳西大学)
研究分析GitHub提交签名的使用情况,发现签名率 misleading,开发者难以保持一致性,签名 lapse率随账户年龄增加,开发者管理签名密钥不当,导致供应链安全框架假设不成立。
2026-07-27 cs.CR 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
Developer Productivity With and Without GitHub Copilot: A Longitudinal Mixed-Methods Case Study
University of Oslo(奥斯陆大学);SINTEF(辛特夫研究所)
研究通过混合方法案例研究分析GitHub Copilot对开发者活动和主观生产力的影响,发现使用Copilot的开发者活动更活跃,但无显著统计学变化,表明提交指标与主观生产力体验存在差异。
2026-01-28 cs.SE
A Multi-Month Study of Git Commit Signing
University of Tennessee , Knoxville(田纳西大学诺克斯维尔分校)
本研究对22名计算机科学专业学生开展三个月Git提交签名使用研究,发现其存在配置阻碍、难发现异常提交、对签名保障存误解等问题,指出仅简化签名不足以保障安全使用,还需配套工具与教育支持。
2026-09-01 cs.CR cs.SE
Githru: Visual Analytics for Understanding Software Development History Through Git Metadata Analysis
Git元数据包含丰富的信息,可供开发人员了解大型软件开发项目的整体上下文。因此,它可以帮助新的开发人员、管理人员和测试人员了解开发的历史,而不需要挖掘大量不熟悉的源代码。然而,目前的Git可视化工具不足以分析和探索元数据:它们主要关注于提高Git命令的可用性,而不是帮助用户了解开发历史。此外,它们不能扩展大型复杂的Git提交图,这在理解整体开发历史方面可以发挥重要作用。在本文中,我们提出了Githru,一个交互式的可视化分析系统,使开发人员能够有效地了解开发历史的背景下,通过Git元数据的交互式探索。我们设计了一个交互式的可视化编码习惯,以可扩展的方式表示一个大的Git图,同时保留Git图中的拓扑结构。为了实现对大型Git提交图的可扩展探索,我们提出了新的技术(图重构,聚类和上下文保持挤压合并(CSM)方法)来抽象大型Git提交图。基于这些Git提交图抽象技术,Githru提供了一个交互式摘要视图,帮助用户获得开发历史的概述,以及一个比较视图,用户可以在其中比较不同的提交集群。Githru的有效性已经通过案例研究得到了证明,这些案例研究由领域专家使用来自一家大型国际IT公司的大型软件开发团队的真实内部数据集进行。一项由12名开发人员参与的受控用户研究将Githru与以前的工具进行了比较,这也证实了Githru在任务完成时间方面的有效性。
2020-09-08 cs.HC 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
18 Million Links in Commit Messages: Purpose, Evolution, and Decay
本文大规模研究了23110个GitHub仓库提交中1820万条链接,发现链接引用普遍但易衰减,70%的不同链接遭受衰减,与代码中链接命运相同。
2023-05-26 cs.SE
Agentic Much? Adoption of Coding Agents on GitHub
INP, LaBRI, UMR 5800 , Univ. Bordeaux, CNRS(法国国家高等矿业电信学校,拉布里实验室,联合研究单位5800,波尔多大学,法国国家科学研究中心);Univ. Rennes, Inria, CNRS, IRISA(雷恩大学,法国国家信息与自动化研究所,法国国家科学研究中心,IRISA);Department of Computer Science , UFMG(计算机科学系,米纳斯吉拉斯联邦大学);LTCI, Télécom Paris , Institut Polytechnique de Paris(电信巴黎学院,通信与电子实验室,巴黎理工学院)
研究探讨了编码代理在GitHub上的采用情况,发现其采用率高达22.20%-28.66%,且在项目成熟度、组织类型和编程语言上均广泛适用。
2026-04-08 cs.SE
Mapping NVD Records to Their Vulnerability-fixing Commits: How Hard is It?
Singapore Management University(新加坡国立大学);Monash University(蒙纳士大学);University of Chinese Academy of Sciences(中国科学院大学);Singapore University of Technology and Design(新加坡科技设计大学);University of Sydney(悉尼大学)
本研究通过实证方法探讨了将NVD记录映射到漏洞修复提交(VFC)的可行性,发现Git引用能实现超过86%的成功率,而非Git引用则低于14%。通过构建自动化流程提取了31,942个VFCs,并结合外部安全数据库和GitHub仓库,最终映射了26,710个独特的NVD记录,但仍有88.7%的记录未被映射,揭示了在没有Git链接时的困难。
2026-05-18 cs.CR cs.SE
20-MAD -- 20 Years of Issues and Commits of Mozilla and Apache Development
长期和高知名度项目的数据对于研究野外成功的软件工程是有价值的。拥有一个包含这些项目的不同链接软件库的数据集,可以进行更深入的潜水调查。本文介绍了20-MAD,一个链接Mozilla和Apache项目的提交和发布数据的数据集。它包含了超过20年的765个项目的信息,340万次提交,230万次问题和1730万次问题评论,其压缩大小超过6 GB。数据包含有关源代码提交的所有典型信息(例如,添加和删除的行、消息和提交时间)和问题(状态、严重性、投票和摘要)。问题评论已经过自然语言处理和情感分析的预处理。这包括表情符号、效价和唤醒分数。链接代码存储库和问题跟踪器信息,允许在两种类型的存储库中研究个人,并为问题跟踪器提供更准确的时区信息。据我们所知,这是不基于GitHub的项目生命周期中最大的链接数据集。
2020-03-31 cs.SE
JavaVFC: Java Vulnerability Fixing Commits from Open-source Software
本文构建并发布 JavaVFC 与 JavaVFC-extended 数据集,利用关键词启发式、多轮人工标注和大规模仓库筛选,为漏洞修复提交识别与自动修复研究提供数据基础。
2024-09-09 cs.SE
Pitfalls and Guidelines for Using Time-Based Git Data
许多软件工程研究论文依赖于基于时间的数据(例如,提交时间戳、问题报告创建/更新/关闭日期、发布日期)。然而,像大多数真实世界的数据一样,基于时间的数据通常是脏的。到目前为止,还没有研究来量化软件工程研究社区使用这些数据的频率,或者调查这些数据的来源并量化这些数据是脏数据的频率。根据研究任务和使用的方法,包括这些脏数据可能会影响研究结果。本文介绍了一个扩展的调查论文,利用基于时间的数据,发表在采矿软件库(MSR)会议系列。在MSR 2004- 2021发表的754篇技术跟踪和数据论文中,我们看到至少有290篇(38%)论文使用了基于时间的数据。我们还观察到,研究论文中使用的大多数基于时间的数据都是以Git提交的形式出现的,通常来自GitHub。基于这些结果,我们使用Boa和Software Heritage基础设施来帮助识别和量化几个脏Git时间戳数据的来源。最后,我们为研究人员利用Git存储库中基于时间的数据提供了指导方针/最佳实践。
2022-09-09 cs.SE
Tooling for Time- and Space-efficient git Repository Mining
在版本控制下的软件项目随着每次提交而增长,每个存储库累积了数十万次提交。特别是对于这样的大型项目,静态源代码分析的存储库遍历和数据提取需要在粒度和速度之间进行权衡。我们展示了命令行工具pyrepositoryminer,它结合了一组优化方法,用于从git存储库中高效遍历和数据提取,同时适用于第三方和定制软件指标和数据提取。该工具是用Python编写的,它结合了裸存储库访问、内存存储、并行化、缓存、基于更改的分析以及遍历和自定义数据提取组件之间的优化通信。该工具允许使用Python编写的指标和外部程序进行数据提取。基于基本挖掘用例的单线程性能评估显示,在四个中型开源项目中,与其他免费工具相比,平均加速15.6倍。多线程执行允许在内核之间分配负载,因此,使用12个线程的平均加速高达86.9倍。
2022-05-03 cs.SE
Escaping the Time Pit: Pitfalls and Guidelines for Using Time-Based Git Data
许多软件工程研究论文依赖于基于时间的数据(例如,提交时间戳、问题报告创建/更新/关闭日期、发布日期)。然而,像大多数真实世界的数据一样,基于时间的数据通常是脏的。到目前为止,还没有研究来量化软件工程研究社区使用这些数据的频率,或者调查这些数据的来源并量化这些数据是脏数据的频率。根据研究任务和使用的方法,包括这些脏数据可能会影响研究结果。本文介绍了第一次调查的论文,利用基于时间的数据,发表在采矿软件库(MSR)会议系列。在MSR 2004- 2020发表的690篇技术跟踪和数据论文中,我们看到至少35%的论文使用了基于时间的数据。然后,我们使用Boa和Software Heritage基础设施来帮助识别和量化脏提交时间戳数据的几个来源。最后,我们为研究人员利用Git存储库中基于时间的数据提供了指导方针/最佳实践。
2021-03-21 cs.SE
Evolution of repositories and privacy laws: commit activities in the GDPR and CCPA era
University of Cyprus(塞浦路斯大学)
研究分析了GDPR和CCPA时代软件仓库的提交活动,发现隐私相关术语在提交信息中出现,但对用户权利的引用较少,提出需加强隐私教育和工具开发。
2025-05-28 cs.SE
Not In My Git Yard: Catching Backdoors at Commit and Release Time
Université Paris-Saclay(巴黎萨克雷大学);CEA, List(法国原子能和替代能源委员会,列表实验室)
本研究提出自动化方法Lily,将后门检测集成到CI管道与发布审查工作流,结合代码变更分析与模糊测试,可高准确率检测代码级后门,抵御对抗性尝试,阻止现实世界后门事件。
2026-07-30 cs.CR cs.SE
Using Large Language Models for Commit Message Generation: A Preliminary Study
本文通过实验评估Llama 2和ChatGPT在提交信息生成中的表现,发现大语言模型在人工评估中显著优于现有方法,并揭示了常用自动评估指标的局限性。
2024-01-13 cs.SE
ZeroIn: Characterizing the Data Distributions of Commits in Software Repositories
现代软件开发是基于一系列快速增量更改,这些更改由具有不同经验和专业知识水平的开发人员对大型源代码存储库进行协作。ZeroIn项目旨在分析这些动态现象的元数据,包括关于存储库、提交和开发人员的数据,以快速准确地标记提交到达存储库时的质量。在这种情况下,本文提出了一个表征的软件开发元数据的分布数据,最好的捕捉趋势的数据集。为此,我们分析了多个数据集,包括开发人员特性的Stack Overflow和超过4.52亿个存储库的GitHub数据,其中包含1600万次提交。这种表征旨在使生成多个合成数据集成为可能,这些数据集可用于训练和测试基于机器学习的新解决方案,以提高软件的可靠性,即使它在发展。它还旨在服务于开发过程,以利用跨存储库和开发人员的聚合空间的许多关键特征向量之间的潜在相关性。本文的数据特征化旨在为ZeroIn的机器学习组件提供信息,包括应用二进制分类器来早期标记有缺陷的软件提交,以及开发基于图的学习方法来利用存储库、提交和开发人员之间的稀疏连接。
2022-04-16 cs.SE
Claimed or Attested? A Commit-Signature Dataset and Identity Trust Tiers across the World of Code
University of Tennessee, Knoxville(田纳西大学诺克斯维尔分校)
研究git提交中身份认证问题,通过提取V2604集合的提交签名轴,发布相关数据集和工具,利用签名轴校准别名映射、附加认证来源,为代码世界身份解析提供新方法和数据集。
2026-07-08 cs.CR cs.SE
ICVul: A Well-labeled C/C++ Vulnerability Dataset with Comprehensive Metadata and VCCs
本文构建高质量 C/C++ 漏洞数据集 ICVul,通过 NVD 与 GitHub 修复提交筛选、SZZ 追踪 VCC 及 ESC 技术保证标签可信,并公开数据集与构建框架。
2025-05-13 cs.SE
RefactorInsight: Enhancing IDE Representation of Changes in Git with Refactorings Information
检查代码更改是一项耗时的任务,是软件工程师日常工作的重要组成部分。现有的IDE提供的关于文件编辑器视图中代码更改的语义的信息很少。因此,开发人员必须跨多个文件跟踪更改,这对于大型代码库来说是一项艰巨的任务。在本文中,我们介绍了RefactorInsight,一个用于IntelliJ IDEA的插件,它为Java和Kotlin中的代码更改引入了一个智能差异,其中重构是自动折叠的,并提供了它们的描述,从而允许用户专注于修改代码行为的更改,如bug修复和新功能。RefactorInsight支持三种使用场景:使用自动折叠的重构和提示查看智能差异,检查拉请求和项目更改历史中的任何特定提交中的重构,以及探索方法和类的重构历史。评估表明提交处理时间是可以接受的:中位数小于0.2秒,该延迟不会中断开发人员的IDE工作流。RefactorInsight可在https://github.com/JetBrains-Research/RefactorInsight上获得。演示视频可在https://youtu.be/-6L2AKQ66nA上获得。
2021-08-25 cs.SE
Was It Never Collected, or Rewritten Away? A Commit-Provenance Dataset Separating Ingestion Gaps from Upstream History Edits across the World of Code
University of Tennessee, Knoxville(田纳西大学诺克斯维尔分校)
通过比较同一提交图的两种视图,即GHArchive事件流和世界代码(WoC)V2604对象数据库,分离提交缺失的不同原因,构建数据集,分析不同情况比例,发布相关数据及处理结果。
2026-07-07 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
A Software Engineering Capstone Course Facilitated By GitHub Templates
针对软件工程顶点课程中工作分配不均和赶工问题,提出使用包含初始基础设施的 GitHub 模板及个人生产力指标监控,初步数据显示截止日提交比例下降,并引入公平性衡量标准,计划未来进行对照实验验证效果。
2024-10-15 cs.CY cs.SE
Brevity is the Soul of Wit: Condensing Code Changes to Improve Commit Message Generation
本文提出用包含概括变更、提炼注释和强调标识符的简洁模板压缩代码变更,并微调CodeLlama-7B生成提交信息,在多个指标上显著优于基线。
2025-09-19 cs.SE
CommitDistill: A Lightweight Knowledge-Centric Memory Layer for Software Repositories
Microsoft Corporation(微软公司)
本文提出CommitDistill,一种轻量级的知识导向内存层,通过确定性正则表达式从本地git历史中提取类型化知识单元,并通过TF-IDF检索器进行检索,以提高软件仓库中历史信息的利用率。
2026-05-18 cs.AI cs.SE
CommitBench: A Benchmark for Commit Message Generation
Hasso Plattner Institute(哈索·普拉特纳研究所);University of Potsdam(波茨坦大学)
针对现有提交消息生成数据集存在的质量差、有偏差等问题,研究构建了遵循最佳实践的大规模基准数据集CommitBench,实验验证源代码预训练的Transformer模型表现最优,并开源代码以推动领域研究。
2024-03-08 cs.CL cs.SE
A Tool to Extract Structured Data from GitHub
GitHub存储库包含有关项目贡献者、提交数量及其贡献者、发布、拉取请求、程序设计语言和问题的各种详细信息。然而,没有开源项目的系统数据集存在,其中包含有关GitHub上用于知识获取和挖掘的存储库的详细信息。在本文中,我们开发了名为GitRepository的工具支持,它有助于基于所提出的模式创建存储库的数据集。在最初的1680个存储库中,数据集托管了620个存储库(应用了星和叉的基本过滤器)和247个存储库(应用了所有预定义的过滤器后)。该工具提取GitHub存储库的信息,并以CSV格式保存数据。文件和数据库(.DB)文件。
2020-12-07 cs.SE
Time Travel: LLM-Assisted Semantic Behavior Localization with Git Bisect
University of Waterloo(滑铁卢大学);Brock University(布罗克大学)
本文提出利用LLM和Git Bisect进行语义行为定位,通过结构化推理链提升故障定位准确率,实验显示成功率提升6.4个百分点,平均bisect时间减少2倍。
2025-11-24 cs.AI cs.SE
PerfCurator: Curating a large-scale dataset of performance bug-related commits from public repositories
本文提出 PerfCurator 仓库挖掘流程,利用轻量高性能的 PcBERT-KD 从 GitHub 构建跨三种语言的大规模性能缺陷修复提交数据集,并证明其可提升数据驱动检测效果。
2024-06-17 cs.SE
Understanding Emotions of Developer Community Towards Software Documentation
开源项目的可用性促进了开发人员在广泛的项目上做出贡献和协作。因此,为此类开源项目做出贡献的开发人员社区也在增加。许多项目都涉及频繁更新和广泛重复使用。一个更新良好的文档有助于更好地理解软件项目,也有助于有效的贡献和重用。虽然软件文档在软件开发和维护过程中扮演着重要的角色,但它也存在着诸如不充分、不一致、可维护性差等问题,探讨开发人员对文档的看法有助于理解软件文档中普遍存在的问题背后的原因。它可以进一步帮助决定可以向开发人员社区提供的培训,以便为社会建立更可持续的项目。分析项目贡献者的情绪可以为理解开发人员的看法提供见解。因此,作为朝着这个方向迈出的第一步,我们分析了特定于软件项目文档的提交消息的情感。为此,我们考虑了GHTorrent数据集中998个GitHub项目的提交历史,并确定了10,996个提交对应于存储库的文档。此外,我们应用情感分析技术来获得对所选提交的提交消息中表达的情感类型的见解。我们观察到,大约45%的已识别提交消息表达了信任情绪。
2021-03-01 cs.SE
CppPerf: An Automated Pipeline and Dataset for Performance-Improving C++ Commits
ETH Zurich(苏黎世联邦理工学院)
本文提出CppPerf-Mine流水线,通过结合结构化提交过滤、LLM分类器和容器化构建测试阶段,挖掘改进执行时间的补丁,并构建包含347个手动验证补丁的CppPerf-DB数据集,评估仓库级修复工具。
2026-05-11 cs.SE
Boosting Commit Classification with Contrastive Learning
针对少样本提交分类依赖标注数据且忽视句子级语义的问题,提出基于伪标签增强和句子嵌入对比学习的CommitFit框架,在两个公开数据集上达到SOTA性能。
2023-08-16 cs.SE
A ground-truth dataset of real security patches
由于缺乏大型数据集和真实数据,培训用于漏洞识别的机器学习方法并制作可靠的工具以帮助开发人员实施无漏洞的高质量软件具有挑战性。研究人员一直在研究这些问题并建立数据集。然而,这些数据集通常会遗漏自然语言工件和程序设计语言多样性。我们从GitHub引用中抓取了整个CVE详细信息数据库,并使用3个安全相关的数据集扩展了数据。我们使用这些数据来创建一个包含自然语言工件(如提交消息、提交注释和摘要)、元数据和代码更改的真值数据集。我们的数据集集成了来自1339个不同项目的8057个安全相关提交,相当于5942个安全补丁,这些项目涉及146种不同类型的漏洞和20种语言。还提供了110 k非安全相关提交的数据集。数据和脚本都可以在GitHub上找到。数据存储在.CSV文件中。代码库可以使用我们的脚本下载。我们的数据集是回答不同主题研究问题的宝贵资产,例如使用NLP模型识别安全相关信息;软件工程和安全最佳实践;漏洞检测和修补;以及安全程序分析。
2021-10-18 cs.CR cs.SE
Learning from Mistakes: Understanding Ad-hoc Logs through Analyzing Accidental Commits
本文通过分析意外提交和直播编码视频,研究开发人员使用临时日志的实践,收集27GB数据揭示其在异步函数中的使用倾向,为改进相关实践提供实证与数据集。
2025-04-17 cs.SE
On Relating Technical, Social Factors, and the Introduction of Bugs
随着协作编码环境使软件项目更容易做出贡献,参与这些项目的开发人员数量不断增加。这种增加使得代码审查者更难处理有bug的贡献。像GitHub这样的协作环境提供了关于开发人员贡献的丰富数据源。这样的数据可以用于提取关于开发者的关于技术的信息(例如,他们的经验)和社会(例如,的相互作用)因素。最近的研究分析了这些因素对软件开发的不同活动的影响。然而,在这些因素与错误引入之间的关系方面仍有改进的余地。我们提出了一个更广泛的研究,包括来自不同领域的8个项目和6,537个错误报告,涉及五个技术因素,三个社会因素和错误的介绍。结果表明,技术和社会因素可以区分错误和干净的承诺。但是,技术因素比社会因素更具决定性。特别是,开发人员不遵守技术贡献规范的习惯和开发人员的提交缺陷与提交缺陷的增加有关。另一方面,项目的建立、开发者提交的所有权级别和社会影响力与引入错误的机会较低有关。
2020-04-07 cs.SE
Exploring Security Commits in Python
本研究针对Python中未被CVE收录的静默安全提交难以识别的问题,构建了首个Python安全提交数据集PySecDB,提出CommitCPG图表示与SCOPY多属性图学习模型提升数据收集效率,还发现了覆盖超85%安全提交的四种常见修复模式。
2023-07-21 cs.CR 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
Automated Recovery of Issue-Commit Links Leveraging Both Textual and Non-textual Data
Sharif University of Technology(谢里夫理工大学)
一个issue记录了关于问题跟踪系统中所需更改的讨论,而一个commit则包含了版本控制系统中的更改本身。恢复问题和提交之间的链接可以促进许多软件演化任务,如错误定位和软件文档。之前对GitHub上超过50万个问题的研究报告显示,只有大约42.2%的问题是由开发人员手动链接到相关提交的。自动化提交-问题对的链接可以有助于改进所述任务。到目前为止,目前最先进的自动提交-问题链接方法精度较低,导致不可靠的结果,有时甚至会对预测的链接进行人工监督。当提交或问题中缺少文本信息时,低性能变得更加严重。目前的方法也被证明计算昂贵。我们提出了混合链接器,以克服这种限制,利用两个信息渠道;(1)一个非文本为基础的组件,操作非文本,自动记录的提交-问题对的信息来预测链接,(2)一个基于文本的一个使用文本信息的提交-问题对做同样的事情。然后,结合两个分类器的结果,Hybrid-Linker做出最终的预测。因此,每当一个组件在预测链接时出现不足时,另一个组件就会填补空白并改进结果。我们在12个项目的数据集上评估了混合链接器与竞争方法,即FRLink和DeepLink。基于查全率、查准率和F-测度,Hybrid-Linker分别达到90.1%、87.8%和88.9%。它在F指标方面也比FRLink和DeepLink高出31.3%和41.3%。此外,Hybrid-Linker在性能方面也表现出广泛的改进。
2021-07-05 cs.LG cs.SE
CleanVul: Automatic Function-Level Vulnerability Detection in Code Commits Using LLM Heuristics
本文提出CleanVul,一种利用LLM和启发式方法自动识别漏洞修复变更并构建高质量函数级漏洞数据集的方法,实验表明其训练的模型准确性和泛化能力优于未清洗数据集。
2025-09-11 cs.CR cs.SE
ChangePrism: Visualizing the Essence of Code Changes
School of Computing, Institute of Science Tokyo(东京科学大学计算学院)
针对传统代码diff审查方式繁琐、难全面掌握提交变更的问题,本研究提出名为ChangePrism的新型可视化工具,含提取与可视化双组件,可提供代码变更的总览与详细视图,助力提升代码变更理解效率。
2025-08-19 cs.SE
Continuous Defect Prediction: The Idea and a Related Dataset
我们想介绍我们的连续缺陷预测(CDP)研究的想法以及我们创建和共享的相关数据集。我们的数据集目前是一组超过1100万个数据行,代表持续集成(CI)构建中涉及的文件,这些文件将CI构建的结果与我们从软件存储库中挖掘的数据相结合。我们的数据集包含1265个软件项目,30,022个不同的提交作者和几个软件过程度量,这些度量在早期的研究中似乎对软件缺陷预测有用。在这个特定的数据集中,我们使用TravisTorrent作为CI数据的来源。TravisTorrent综合来自Travis CI服务器和GitHub开源项目存储库的提交级别信息。我们将此数据扩展到文件更改级别,并计算可用于的软件过程度量,例如,作为预测风险软件更改的功能,这些更改如果提交到启用CI的存储库中,可能会破坏构建。
2017-06-22 cs.SE
Analysing Time-Stamped Co-Editing Networks in Software Development Teams using git2net
来自软件仓库的数据已经成为软件工程过程实证研究的重要基础。存储库挖掘文献中反复出现的主题是开发人员网络的推断,例如从项目的提交历史中捕获协作,协调或通信。大多数研究的网络是基于软件人工制品的合著。因为这忽略了代码更改和代码所有权的详细信息,我们引入了git 2net,一个可扩展的python软件,它有助于在大型git仓库中提取细粒度的协同编辑网络。它使用文本挖掘技术来分析文件中文本修改的详细历史。我们将我们的工具应用于两个案例研究,使用多个开源的GitHub存储库以及商业软件项目。具体来说,我们使用超过120万次提交和超过25'000名开发人员的数据来测试软件团队中开发人员生产力和共同编辑模式之间关系的假设。我们认为,git 2net开辟了一个巨大的高分辨率的人类协作模式的数据,可用于推进理论在经验软件工程,计算社会科学和组织研究的新来源。
2019-11-21 cs.MA cs.SE cs.SI
The Technical Debt Dataset
技术债分析越来越受欢迎,因为现在的研究人员和行业正在采用各种静态代码分析工具来评估他们的代码质量。尽管如此,软件项目的实证研究是昂贵的,因为需要时间来分析项目。此外,由于研究通常考虑不同的项目,因此很难比较结果。在这项工作中,我们提出了技术债务数据集,这是一组来自Apache软件基金会的33个Java项目的项目测量数据。在Technical Debt Dataset中,我们使用SonarQube分析了单独定义的时间范围内的所有提交,以收集Technical Debt信息,并使用Ptidej检测代码气味。此外,我们从git日志中提取了所有可用的提交信息,使用Refactoring Miner应用的重构,以及问题跟踪器(Jira)中报告的错误信息。使用这些信息,我们执行SZZ算法来识别错误诱导和修复提交。我们分析了来自选定的33个项目的78K提交,检测到180万个SonarQube问题,38K个代码气味,28K个错误和57K个重构。项目分析花了200多天。在本文中,我们描述了数据检索管道以及用于分析的工具。该数据集通过CSV文件和SQLite数据库提供,以方便对数据的查询。技术债务数据集旨在为技术债务研究开辟多种机会,使研究人员能够比较常见项目的结果。
2019-08-02 cs.SE
Bridging the Gap: A Comparative Study of Academic and Developer Approaches to Smart Contract Vulnerabilities
本文通过比较学术与开发者在修复智能合约漏洞策略上的差异,揭示了实际开发中存在与学术文献不一致的漏洞处理方法,并识别出27种新型修复策略。
2026-01-12 cs.SE
Scaling Author Identity Disambiguation to the World of Code: A Methodology
University of Tennessee(田纳西大学)
该研究将代码世界作者身份消歧方法扩展,解决大规模下过度合并问题。通过多种实验,提出在精确并集图上切割并结合边分类器的方法,有效提升效果,在召回率和精度上超越前人,还总结了规模经验教训。
2026-07-09 cs.SE
AgentPack: A Dataset of Code Changes, Co-Authored by Agents and Humans
Northeastern University(东北大学)
本文提出AgentPack数据集,包含180万条由Claude Code、OpenAI Codex和Cursor Agent与人类共同撰写的代码更改,分析其结构特性,并展示基于该数据集微调的模型在代码编辑任务中优于传统人类提交数据集的性能。
2026-09-17 cs.CL cs.SE
git2net - Mining Time-Stamped Co-Editing Networks from Large git Repositories
来自软件仓库的数据已经成为软件工程过程实证研究的重要基础。存储库挖掘文献中反复出现的主题是开发人员网络的推断,例如从项目的提交历史中捕获协作,协调或通信。大多数研究的网络是基于在文件,模块或包的水平上定义的软件制品的合著。虽然这种方法导致了对软件开发的社会方面的见解,但它忽略了关于代码更改和代码所有权的详细信息,例如,哪些开发人员编写了哪些代码行,这些信息包含在软件项目的提交日志中。为了解决这个问题,我们引入了git2net,这是一个可扩展的python软件,可以帮助提取大型git存储库中的细粒度协同编辑网络。它使用文本挖掘技术来分析文件中文本修改的详细历史。这些信息使我们能够构建定向、加权和时间戳网络,其中链接表示一个开发人员编辑了最初由另一个开发人员编写的源代码块。我们的工具应用于开源和商业软件项目的案例研究。我们认为,它为人类协作模式的高分辨率数据开辟了一个巨大的新来源。
2019-03-25 cs.CY cs.SE cs.SI
Detecting AI Coding Agents in Open Source: A Validated Multi-Method Census of 180 Million Repositories
提出多层面检测框架,整合配置扫描、提交消息分析等四种方法,发现单一信号低估AI代理活动达30倍,揭示不同检测渠道捕获的代理群体几乎不重叠。
2026-06-24 cs.AI cs.SE
DevRank: Mining Influential Developers In Github
随着社交编码越来越流行,了解开发人员的影响力可以使各种应用程序受益,例如新项目和创新的广告。然而,大多数现有的工作只集中在排名的非加权和同构网络中的有影响力的节点,这是不能够适当的重要性得分转移到真正的重要节点。为了对Github中的开发者进行排名,我们定义了开发者对吸引关注能力的影响,可以通过未来获得的关注者数量来衡量。我们进一步定义了一种新的方法DevRank,该方法通过根据用户行为(包括“提交”和“关注”)构建的异构网络的影响力传播来对开发人员进行排名。实验比较了DevRank与其他链接分析算法的性能,结果表明DevRank能够提高链接分析算法的排名精度。
2017-10-28 cs.SE cs.SI