On the Prevalence and Usage of Commit Signing on GitHub: A Longitudinal and Cross-Domain Study
本文对 GitHub 上提交签名的普及程度进行纵向跨领域实证分析,发现 60 个开源库中仅约 10% 的提交通过验证,并提出基于 Events API 的提交所有权识别方法以应对提交伪造问题。
2025-04-27 cs.CR cs.SE
Analyzing the Effects of CI/CD on Open Source Repositories in GitHub and GitLab
许多文章强调了在软件开发中实现持续集成和交付(CI/CD)管道的好处。这些管道有望提高项目的声誉,并减少存储库中的提交和问题数量。虽然CI/CD的采用最初可能会很慢,但从长远来看,它可以加速服务的交付和部署。本研究旨在调查CI/CD对两个开源存储库GitLab和GitHub中的提交速度和问题数量的影响。通过分析超过12,000个存储库并记录每个提交和问题,我们发现CI/CD将提交速度提高了141.19%,但问题数量也增加了321.21%。
2023-03-29 cs.SE
PR-SZZ: How pull requests can support the tracing of defects in software repositories
SZZ算法代表了一种标准的方法来识别bug修复提交以及诱导对应提交。它构成了许多实证研究中使用的数据集的基础。自创建以来,已提出多个扩展以提高其性能。由于历史原因,相关的工作依赖于提交消息来将错误票据映射到可能相关的代码,而没有额外的数据用于跟踪这些修复引起的提交。因此,我们提出了一个更新版本的SZZ利用拉请求,这是广泛采用的今天。我们评估我们的方法相比,现有的SZZ变种进行实验和分析使用的拉请求,内部提交,合并策略。我们的结果基于6个开源项目,超过50k提交和35k拉取请求。关于bug修复提交,平均18%的bug票据可以额外映射到修复提交,导致整体F分数为0.75,提高了40个百分点。通过选择诱导提交,我们设法减少了误报,并与现有方法相比平均提高了16个百分点的精度。
2022-06-20 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
Automated Generation of Commit Messages in Software Repositories
针对开发人员因时间和技能问题忽视有效提交信息编写的问题,提出基于ML/NLP的自动化生成方法,采用TF-IDF与Word2Vec的逻辑回归、LSTM等模型,在Liu等人数据集上训练评估,最高BLEU得分为16.82,为提交信息生成提供有效自动化方案。
2025-04-17 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
Are Coding Agents Generating Over-Mocked Tests? An Empirical Study
UFMG(米纳斯吉拉斯联邦大学);Univ. Bordeaux, CNRS, Bordeaux INP, LaBRI(波尔多大学、法国国家科学研究中心、波尔多国立高等电子与计算机学院、拉布里实验室)
本文研究了编码代理生成测试中模拟的使用情况,发现代理更倾向于修改测试并添加模拟,同时指出模拟测试可能更容易自动生成但验证效果较弱。
2026-01-30 cs.SE
Using Experience Sampling to link Software Repositories with Emotions and Work Well-Being
背景:经验抽样方法研究人类在自然环境中的日常经验。在心理学中,它被用来研究工作幸福感和生产力之间的关系。据我们所知,日常经验抽样以前没有在软件工程中使用过。目标:我们的目的是确定软件开发人员自我报告的情感状态和工作幸福感和从软件库中获得的措施之间的联系。方法:我们在一家软件公司进行了为期八个月的经验抽样研究,我们使用逻辑回归将幸福感测量与开发活动联系起来,即提交和聊天消息的数量。结果:我们发现问卷变量和软件库变量之间有几个显着的关系。令我们惊讶的是,匆忙和提交数量之间的关系是负的,这意味着更多的感知匆忙与更少的提交数量有关。我们还发现,社会互动和阻碍工作幸福感之间存在负相关。结论:提交和匆忙之间的负面联系是违反直觉的,也与之前软件工程中的实验室实验相反,这些实验表明在时间压力下效率会提高。总的来说,我们的工作是在软件工程中使用经验抽样和验证软件工程领域其他领域的工作幸福感理论的第一步。
2018-09-04 cs.SE
From Commits to Confidence: Towards Stability-Informed Risk Assessment in Open Source Software
George Mason University(乔治梅森大学);Queen’s University(女王大学)
本文研究了开源软件项目稳定性与韧性,发现稳定提交模式能反映项目治理和开发流程,提出需结合社区参与等指标进行稳定性导向的风险评估。
2026-01-05 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
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
Compilation of Commit Changes within Java Source Code Repositories
本文提出 JESS 方法,通过仅编译提交中修改的相关代码并自动推断存根,解决了 Java 项目中修复提交难以编译为字节码的问题,显著提升了漏洞补丁字节码的获取效率。
2024-07-25 cs.PL cs.SE
Analyzing the Evolution and Maintenance of Quantum Software Repositories
本研究通过挖掘GitHub上2.1万余个量子软件仓库的120万次提交,分析其演化与维护特征,揭示了增长趋势、提交类型分布及量子特有问题占比,为量子软件工程实践改进提供实证依据并开源数据集。
2025-06-06 cs.SE
A Comprehensive Evaluation of Code Language Models for Security Patch Detection
University of Lübeck(吕贝克大学);University of Lübeck Institute for IT Security(吕贝克大学信息安全部)
本文通过统一框架评估了基于代码语言模型的漏洞修复提交检测,发现仅依赖代码变更无法让模型获得可转移的安全相关代码理解,且在去除提交信息后,增加内过程语义上下文也无法使模型关注代码变更,性能受数据分布和时间分割影响显著。
2026-08-06 cs.CR cs.LG cs.SE
Detecting Security Patches via Behavioral Data in Code Repositories
Tel-Aviv University(特拉维夫大学)
当今绝大多数软件都是使用协作版本控制工具(如Git)协作开发的。通常的做法是,一旦发现并修复了漏洞,软件背后的开发人员就会发布一个常见漏洞和暴露或CVE记录,以提醒用户社区注意安全隐患,并敦促他们集成安全补丁。然而,有些公司可能不会披露他们的漏洞,只是更新他们的存储库。因此,用户不知道该漏洞,并可能仍然暴露。在本文中,我们提出了一个系统来自动识别安全补丁,只使用Git存储库中的开发人员行为,而不分析代码本身或伴随修复的注释(提交消息)。我们可以发现隐藏的安全补丁,准确率为88.3%,F1得分为89.8%。这是第一次提出一个语言无关的解决方案。
2023-02-04 cs.CR cs.LG cs.SE
A Large-Scale Comprehensive Measurement of AI-Generated Code in Real-World Repositories
Luddy School of Informatics, Computing, and Engineering, Indiana University Bloomington(印第安纳大学布卢明顿分校卢迪信息学、计算与工程学院);College of Computing and Data Science, Nanyang Technological University(南洋理工大学计算机与数据科学学院)
本文通过大规模实证研究分析现实仓库中AI生成代码的特性,探讨AI辅助开发与传统人类开发的差异,为理解AI在软件开发中的实际影响提供依据。
2026-07-03 cs.SE
LinkAnchor: An Autonomous LLM-Based Agent for Issue-to-Commit Link Recovery
Bowling Green State University(伯灵顿州立大学);University of Nebraska-Lincoln(内布拉斯加大学林肯分校);University of Zurich(苏黎世大学)
针对软件仓库中问题到提交链接恢复的挑战,本文提出LinkAnchor,通过懒惰访问架构动态检索相关数据,提升链接恢复的准确性和效率。
2026-06-29 cs.AI cs.SE
Apples, Oranges & Fruits -- Understanding Similarity of Software Projects Through The Lens of Dissimilar Artifacts
开源项目的日益增长的可用性促进了开发人员重用现有的软件工件并利用它们开发新软件。然而,很难理解相似性的概念,因为它因开发人员而异。有些开发人员可能会搜索具有类似源代码的存储库,而有些开发人员可能会搜索具有类似需求或问题的存储库。现有的方法倾向于通过比较类似的工件来找到类似的项目,例如源代码与源代码,API使用与API使用,文档与文档等。即使两个类似的工件之间存在差异,两个不同的工件之间也可能存在相似性。因此,在本文中,我们的目标是回答这个问题-我们可以通过不同的工件找到软件存储库的相似性吗?为此,我们进行了一个实验,以找到三个存储库之间的相似之处,两个类似的项目和一个不同的项目比较相似和不同的工件(文档,提交和源代码)。我们观察到了不同工件之间的相似性,例如在相似和不同存储库的上下文中的提交、源代码和自述文件。
2021-03-02 cs.SE
The Software Heritage Graph Dataset: Large-scale Analysis of Public Software Development History
Software Heritage是现存最大的软件源代码及其开发历史的公共档案。它涵盖了超过50亿个独特的源代码文件和10亿个独特的提交,来自8000多万个软件项目。这些软件工件是从主要的协作开发平台(例如,GitHub、GitLab)和包存储库(例如,PyPI,Debian,NPM),并存储在一个统一的表示链接在一起的源代码文件,目录,提交,和版本控制系统(DRM)存储库的完整快照,如软件遗产在定期爬网期间观察。这个数据集在可访问性和规模方面是独一无二的,并且允许探索公共软件开发长尾上的许多研究问题,而不是像经常发生的那样仅仅关注“最受欢迎”的存储库。
2020-11-16 cs.SE
Favia: Forensic Agent for Vulnerability-fix Identification and Analysis
Norwegian University of Science and Technology(挪威科技大学);CSIRO’s Data61(澳大利亚联邦科学与工业研究组织数据61研究所)
Favia通过结合可扩展的候选排名与深入语义推理,有效识别漏洞修复,优于传统和LLM基方法。
2026-02-13 cs.AI cs.CR 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
Analysis of Commit Signing on Github
University of Tennessee(田纳西大学)
研究分析GitHub提交签名的使用情况,发现签名率 misleading,开发者难以保持一致性,签名 lapse率随账户年龄增加,开发者管理签名密钥不当,导致供应链安全框架假设不成立。
2026-07-27 cs.CR 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
The List is the Process: Reliable Pre-Integration Tracking of Commits on Mailing Lists
本文提出一种语言无关的方法,通过连接邮件列表中补丁的早期修订与仓库最终版本,实现对软件变更预集成历史的高精度追踪,并在Linux内核等开源项目上验证了其有效性,为工业应用中开源开发过程的合规性量化提供了支持。
2019-02-08 cs.SE
On the Maintenance and Co-evolution of Agent Plugins: An Empirical Study of Claude Code Plugin Marketplaces
本研究通过对Claude Code插件市场的实证分析,揭示智能体插件的维护与协同演化规律,发现其功能驱动开发特征及新型组件耦合依赖关系。
2026-08-31 cs.AI cs.SE
Deforking the World of Code: A Project-Provenance Map that Recovers Cross-Forge Fork Families that Platform Graphs Cannot See
University of Tennessee, Knoxville(田纳西大学诺克斯维尔分校)
针对Git分叉导致代码度量膨胀的问题,提出基于全局共享提交关系的去分叉映射p2PFull,通过集线节点星编码和并行Louvain聚类构建项目来源图,并验证了跨平台分叉家族的发现。
2026-07-14 cs.SE
LLMVul: A Vulnerability-Labeled Dataset of LLM-Generated C/C++ Functions from Real Production Repositories
School of Computing \& Informatics \ of Louisiana at Lafayette Lafayette LA USA;School of Computing \& Informatics \ of Louisiana at Lafayette
LLMVul从真实生产仓库中挖掘并标注了21,430个LLM生成的C/C++函数,识别出1,540个易受攻击函数,涵盖17个CWE类别,为漏洞检测和安全评估提供了大规模真实数据。
2026-09-11 cs.SE
Did You Forkget It? Detecting One-Day Vulnerabilities in Open-source ForksWith Global History Analysis
University of Rennes(雷恩大学);Inria(法国国家信息与自动化研究所)
本文提出一种全球历史分析方法,用于检测开源fork中的单日漏洞,通过传播漏洞信息和自动化影响分析,发现135个高严重性漏洞。
2026-10-08 cs.CR cs.SE
SPI: Automated Identification of Security Patches via Commits
开源软件中的安全补丁,为已识别的漏洞提供安全修复,对于防范网络攻击至关重要。尽管国家漏洞数据库(NVD)发布了已识别的漏洞,但绝大多数漏洞及其相应的安全补丁仍然无法公开,例如,开发者非常依赖的开源库中。一个广泛的安全补丁数据集可以帮助最终用户,如安全公司,建立安全知识库,或研究人员,例如,协助脆弱性研究。为了以大规模和低成本管理包括未公开补丁在内的安全补丁,我们提出了一种基于开源库提交的基于深度神经网络的方法。我们构建了安全补丁数据集,其中包括来自四个C库的38,291个安全相关提交和1,045个CVE补丁。我们手动验证38,291个与安全相关的提交中的每个提交,以确定它们是否与安全相关。我们设计了一个基于深度学习的安全补丁识别系统,该系统由两个神经网络组成:一个是提交消息神经网络,它利用从我们的提交数据集学习的预训练单词表示;另一个是代码修订神经网络,它在修订之前和之后获取代码,并学习语句级别上的区别。我们的评估结果表明,我们的系统优于SVM和K-折叠堆叠算法,实现高达87.93%的F1分数和精度为86.24%。我们在工业生产环境中部署了我们的管道和学习模型,以评估我们的方法的泛化能力。工业数据集由来自410个新库的298,917个提交组成,这些库的功能范围很广。我们的实验结果和观察证明,我们的方法可以有效地识别开源项目中的安全补丁。
2021-06-06 cs.CR cs.SE
An Empirical Validation of Open Source Repository Stability Metrics
本研究针对开源软件供应链依赖度提升的背景,对基于控制理论提出的综合稳定性指数(CSI)开展首次实证验证,通过100个高排名GitHub仓库实验优化了采样方式与统计方法,为开源项目健康监控提供了实证支撑的应用方案。
2025-08-02 cs.SE
A Manually-Curated Dataset of Fixes to Vulnerabilities of Open-Source Software
SAP Security Research(SAP安全研究部门)
本文发布人工整理的开源 Java 漏洞与修复提交数据集,含624个漏洞、205个项目和1282个提交,并提供脚本支持数据获取、扩充及安全提交分类器训练。
2019-03-19 cs.CR cs.LG cs.SE
Exploiting Token and Path-based Representations of Code for Identifying Security-Relevant Commits
University of Waterloo(滑铁卢大学);SAP Security Research(SAP安全研究院)
公共漏洞数据库(如CVE和NVD)仅占开源项目中存在的安全漏洞的60%,并且已知质量不一致。在过去的两年中,在NPM和Maven Central等各种存储库中可用的项目中,已知漏洞的数量有了相当大的增长。这种日益增加的风险要求建立一种机制,以及时推断安全威胁的存在。我们提出了新的分层深度学习模型,用于从提交差异或Java类的源代码中识别安全相关的提交。通过将我们的模型与code2vec(一种从基于路径的代码表示中学习的最先进的模型)和逻辑回归基线进行比较,我们发现深度学习模型在识别安全相关的提交方面显示出有希望的结果。我们还对各种深度学习模型如何在不同的输入表示中学习以及正则化对模型泛化的影响进行了比较分析。
2019-11-15 cs.CL 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
Domain-Driven Design in Practice: A Mining Study of Maintenance and Evolution in Open-Source Repositories
Karlsruhe Institute of Technology(卡尔斯鲁厄理工学院);Adelaide University(阿德莱德大学);Faculty of Science and Engineering Waseda University(早稻田大学理工学府);esentri AG(esentri股份公司)
通过挖掘GitHub仓库,研究领域驱动设计战术构建块的分布、演化及其对软件维护质量的影响,量化边界上下文违规的规模与维护关联。
2026-06-24 cs.SE
LLM-Based Agents for Identifying Bug-Introducing Commits
MPI-SP(马克斯·普朗克软件系统研究所);CISPA(赛帕信息安全卓越中心)
本文探讨了基于LLM的代理如何通过搜索候选提交提升识别引入缺陷提交的性能,提出了一种简单的代理工作流程,并揭示了代理在搜索中的有效性及对缺陷检测的潜在影响。
2026-09-24 cs.SE
Bug-Fix Variants: Visualizing Unique Source Code Changes across GitHub Forks
分叉是开发人员在现有项目上进行构建时的常见做法。这些分叉创建了变体,这些变体具有共同的代码基础,但随后在不同的方向上发展代码,这是特定于分叉的项目需求的。拥有多个fork的一个有趣的副作用是能够在代码的不同演化方向之间进行选择,这是基于开发人员修复代码库中的bug。然而,关键问题在于,这种分散的信息形式很难分析。在这项研究中,我们提出了一个可视化来分析尚未合并回原始项目的fork存储库中的活动更改。我们的可视化显示了多个fork中的代码提交活动,突出显示了fork历史中的bug修复提交。虽然每个存储库的提交活动的可视化类似于GitHub的代码频率视图,但我们的视图仅显示fork存储库独有的提交。为了说明我们的可视化的有效性,我们将我们的视图应用于两个用例:从不再维护的存储库中识别fork,以及在fork中识别bug修复。在第一种情况下,我们识别了一个名为Obfuscator-LLVM的挂起项目的分支。我们的视图显示了原始存储库及其最活跃的分支,这些分支在顶部继续开发。在第二种情况下,我们在Clipy项目的一个分支中发现了一个bug修复。我们的视图显示,最活跃的分支有自己的bug修复;我们可以很容易地为视图中突出显示的bug识别补丁。作为一个新的想法论文,我们提出了我们的三个研究问题的大纲,以激发现实世界的用例和目标,我们的可视化有可能发现。我们的可视化原型可在\textcolor{…
2022-08-05 cs.SE
Commit2Vec: Learning Distributed Representations of Code Changes
SAP Security Research(SAP安全研究)
深度学习方法已经在图像分类和自然语言处理等领域获得了成功的应用,最近也被应用于源代码分析,这是由于大量的免费源代码(例如,开源软件库)。在这项工作中,我们详细阐述了一种最先进的方法来表示源代码,该方法使用有关其语法结构的信息,并且我们使其适应于表示源代码更改(即,提交)。我们使用这种表示来对安全相关的提交进行分类。因为我们的方法使用迁移学习(即,我们在“借口任务”上训练网络,对于该“借口任务”,有丰富的标记数据可用,然后我们将这样的网络用于提交分类的目标任务,对于该目标任务,有较少的标记实例可用),我们研究了使用两个不同的借口任务与随机初始化模型预训练网络的影响。我们的研究结果表明,表示,利用通过代码语法获得的结构信息优于基于标记的表示。此外,当在较小的数据集($>10^4$样本)上进行预训练时,在具有非常大的数据集($>10^6$样本)的松散相关的借口任务上进行预训练时获得的性能指标被超过,但是对于与目标任务更密切相关的借口任务。
2021-11-17 cs.AI cs.LG cs.SE
A Task-Level Evaluation of AI Agents in Open-Source Projects
Idaho State University(爱达荷州立大学)
本文评估了五个AI代理在开源项目中的表现,发现Codex在PR接受率上表现优异,而Copilot在审查讨论量上领先,但提交质量因任务类型而异。
2026-02-02 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
ReleaseEval: A Benchmark for Evaluating Language Models in Automated Release Note Generation
本文提出ReleaseEval基准,包含94,987份发行说明,支持三种输入粒度任务,系统评估语言模型在自动化发行说明生成中的表现,发现大模型在利用结构化信息上优于传统基线但在长代码差异抽象上仍有挑战。
2025-11-04 cs.SE
Utilizing Source Code Syntax Patterns to Detect Bug Inducing Commits using Machine Learning Models
本研究提出从源代码语法模式中提取特征来检测引入缺陷的提交,实验表明该方法在多种机器学习模型上提升了缺陷检测性能,并提供了更好的可解释性。
2022-12-07 cs.SE
CleanVul: Automatic Function-Level Vulnerability Detection in Code Commits Using LLM Heuristics
本文提出CleanVul,一种利用LLM和启发式方法自动识别漏洞修复变更并构建高质量函数级漏洞数据集的方法,实验表明其训练的模型准确性和泛化能力优于未清洗数据集。
2025-09-11 cs.CR cs.SE
JavaVFC: Java Vulnerability Fixing Commits from Open-source Software
本文构建并发布 JavaVFC 与 JavaVFC-extended 数据集,利用关键词启发式、多轮人工标注和大规模仓库筛选,为漏洞修复提交识别与自动修复研究提供数据基础。
2024-09-09 cs.SE
Exploring the Security Awareness of the Python and JavaScript Open Source Communities
软件安全性无疑是当今软件工程的一个主要关注点。虽然人们对安全问题的认识水平往往很高,但实际经验表明,预防行动和对可能出现的问题的反应在现实中并不总是得到适当处理。通过分析开源社区中的大量提交,我们可以对开发人员缓解的漏洞进行分类,并研究其分布,解决时间等,以学习和改进安全管理流程和实践。在软件遗产图数据集的帮助下,我们调查了两种最流行的脚本语言- Python和JavaScript -从公共存储库收集的项目的提交,并确定了那些减轻代码中某个漏洞的提交(即漏洞解决提交)。一方面,我们确定了提交消息中提到的漏洞类型(根据CWE组),并比较了两个社区中的漏洞数量。另一方面,我们检查了漏洞发布日期与提交中首次引用漏洞之间的平均时间。我们发现,两个社区缓解的漏洞类型有很大的交集,但最普遍的漏洞是特定于语言的。此外,无论是JavaScript还是Python社区都不会对出现的安全漏洞做出快速反应,只有一些CWE组例外。
2020-06-24 cs.PL cs.SE
Revisiting Vulnerability Patch Identification on Data in the Wild
Singapore Management University(新加坡管理大学);Monash University(莫纳什大学);University of Sydney(悉尼大学)
本文研究了在真实环境中漏洞补丁检测器的性能,发现基于NVD数据训练的模型在真实补丁上表现显著下降,提出结合NVD数据与人工识别补丁的混合数据集可提升模型鲁棒性。
2026-03-18 cs.CR cs.SE
Qualitative Data Analysis in Software Engineering: Techniques and Teaching Insights
本章面向软件工程研究,系统介绍定性编码、编码指南设计与质量保证原则,并结合教学经验帮助研究者严谨分析代码注释、提交信息等定性资料。
2024-06-12 cs.SE
VulGuard: An Unified Tool for Evaluating Just-In-Time Vulnerability Prediction Models
VulGuard 是一个统一自动化工具,通过挖掘 GitHub 提交并集成多个先进 JIT-VP 模型,解决漏洞预测研究中的可复现性与可扩展性问题,并在 FFmpeg 和 Linux 内核上验证了其加速研究和标准化基准测试的潜力。
2025-07-22 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
SEART Data Hub: Streamlining Large-Scale Source Code Mining and Pre-Processing
本文提出SEART Data Hub,一个简化大规模源代码挖掘与预处理的Web应用,允许研究人员通过简单界面指定挖掘和预处理条件,快速构建定制化数据集,显著降低时间和计算资源成本。
2024-09-27 cs.SE
How Do Software Developers Use GitHub Actions to Automate Their Workflows?
本文首次实证研究开发者对 GitHub Actions 的使用及其影响,发现采用者评价积极,但该技术会增加月度拒绝 PR 数并减少已合并 PR 的月度提交数。
2021-03-22 cs.SE
When the Model Retires: An Empirical Study of LLM Migration in Open-Source Applications
Myongji University(明志大学)
本研究通过挖掘GitHub提交,实证分析开源应用中LLM模型退役后的迁移行为,发现82%的迁移发生在关闭日期后,且通告长度显著影响迁移时机,并发布了相关数据集。
2026-09-28 cs.SE
PreciseBugCollector: Extensible, Executable and Precise Bug-fix Collection
针对现有缺陷数据集精准度与规模难以兼顾的问题,提出基于缺陷追踪器和缺陷注入器的多语言缺陷收集方法PreciseBugCollector,已构建含百万级缺陷的大规模精准数据集,适配工业场景需求。
2024-03-09 cs.PL cs.SE
Fixseeker: An Empirical Driven Graph-based Approach for Detecting Silent Vulnerability Fixes in Open Source Software
针对静默漏洞修复检测问题,提出基于图的Fixseeker方法,利用hunk间相关性建模修复模式,在多种语言上优于现有方法,F1达0.8404。
2025-03-26 cs.SE
File-Level Copying Is an Implicit Dependency in Open Source
Peking University(北京大学);University of Tennessee, Knoxville(田纳西大学诺克斯维尔分校)
通过混合方法研究整个开源生态中的文件复制,发现其导致供应链可见性缺失,并识别出安全与许可风险集中在不同复制形式中。
2026-07-03 cs.SE