Inter-Package Dependency Networks in Open-Source Software
本研究分析了开源软件中包间层次的复杂网络,其中包依赖关系通常跨越项目和开发团队。我们审查复杂的网络确定在“较低”的抽象层次,然后制定一个描述的软件组件的相互作用在包的水平,一个相对“高”的抽象层次。通过从两个来源挖掘开源软件存储库,我们经验性地表明,在这种粒度下的模块耦合在这两种情况下都创建了一个小世界和无标度网络。
2004-11-29 cs.SE
Classifying Issues in Open-source GitHub Repositories
该研究面向 GitHub 开源仓库问题标签缺失问题,分析知名仓库并用 ML 与 DNN 模型将 issue 分为 Bug、API、Documentation 等常见类别,以提升分派与开发效率。
2025-07-25 cs.SE
Snapshot Metrics Are Not Enough: Analyzing Software Repositories with Longitudinal Metrics
软件度量捕获关于软件开发过程和产品的信息。这些指标支持决策制定,例如,在团队管理或依赖选择中。然而,现有的度量工具只测量软件项目的快照。很少有人关注让工程师能够推理出一段时间内的度量趋势--纵向度量提供了对过程的洞察力,而不仅仅是产品。在这项工作中,我们提出了PRiME(PRocess MEtrics),计算和可视化过程度量的工具。目前支持的指标包括生产率、问题密度、问题损坏率和总线因素。我们说明了纵向数据的价值,并得出一个研究议程。该工具的演示视频可以在https://youtu.be/YigEHy3_JCo上观看。源代码可以在https://github.com/SoftwareSystemsLaboratory/prime上找到。
2022-07-24 cs.SE
Analyzing the Accessibility of GitHub Repositories for PyPI and NPM Libraries
本研究通过 PageRank 算法分析 PyPI 和 NPM 库的 GitHub 仓库可访问性,发现多数库(尤其重要库)可监控,但部分库缺少 URL,建议维护者更新信息。
2025-04-23 cs.SE
Dependency Smells in JavaScript Projects
现代软件开发中的依赖管理为希望保持最新功能和修复同时确保向后兼容性的开发人员带来了许多挑战。项目维护人员选择了各种各样的,有时是相互冲突的方法来维护他们的依赖关系。选择不合适的方法可能会给项目带来bug和漏洞,引入破坏性的更改,导致无关的安装,并降低依赖性的可理解性,使其他人更难有效地做出贡献。在本文中,我们经验性地研究了经常性的依赖管理问题(依赖气味)的证据。我们查看了1,146个活动JavaScript存储库的数据集的提交数据,以分类,量化和理解依赖气味。通过对从业者的一系列调查,我们确定并量化了七种受欢迎程度不同的依赖气味,并调查了为什么它们会在整个项目历史中被引入。我们的研究结果表明,依赖气味在JavaScript项目中很普遍,80%的项目中出现了两种或两种以上不同的气味,但它们通常会感染项目的少数依赖项。我们的观察表明,依赖气味的数量往往会随着时间的推移而增加。实践者认为依赖气味会带来许多问题,包括安全威胁、bug、依赖破坏、运行时错误和其他维护问题。这些气味通常是在开发人员对依赖不当行为和npm生态系统的缺点做出反应时引入的。
2021-08-18 cs.SE
Aspect OntoMaven - Aspect-Oriented Ontology Development and Configuration With OntoMaven
在敏捷的基于本体的软件工程项目中,对来自大型现有远程存储库的本体的模块化重用的支持、本体项目生存周期管理和传递依赖管理是重要的需求。本文的贡献是一个新的设计工件OntoMaven结合了一个统一的方法,本体模块化,面向方面的本体开发,这是受面向方面的编程。OntoMaven采用基于Apache Maven的开发方法,并将其概念适用于基于Maven的本体开发和分布式本体库中本体工件管理的知识工程。与面向方面的本体开发相结合,允许对本体模块进行细粒度的、声明性的配置。
2015-07-01 cs.SE
Mutation Testing for Reproducibility Safeguards in Machine Learning Research Software: An Empirical Study
本研究以MLReproMutate为工具,对39个机器学习研究仓库开展实证研究,发现现有验证工作流仅能检测8.7%的可复现性相关突变,提出可复现性导向的突变测试作为补充评估方式。
2026-08-28 cs.SE
LLM Agents Can See Code Repositories
Shanghai Jiao Tong University(上海交通大学);Xi’an Jiaotong University(西安交通大学);Zhejiang University(浙江大学);Hangzhou High-Tech Zone (Binjiang) Institute of Blockchain and Data Security(杭州高新技术开发区(滨江)区块链与数据安全研究院)
研究多模态大语言模型在仓库级问题解决中利用视觉表示的效果,发现纯视觉方案降低精度,而结合视觉结构图可减少26%输入token并保持或提升精度。
2026-08-04 cs.SE
Towards Understanding Third-party Library Dependency in C/C++ Ecosystem
第三方库(TPL)经常在软件中重用,以降低开发成本和上市时间。但是,外部库依赖性可能会在主机应用程序中引入漏洞。图书馆的依赖性问题已经引起了相当大的关注。许多包管理器,如Maven,Pip和NPM,被提议用于管理TPL。此外,大量的努力已经投入到研究语言生态系统中的依赖关系,如Java,Python和JavaScript(C/C++除外)。由于缺乏统一的C/C++包管理器,现有的研究对C/C++生态系统中的TPL依赖了解甚少,特别是在大规模的情况下。为了深入理解C/C++生态系统中的TPL依赖,本文收集了现有的TPL数据库、包管理工具和依赖检测工具,总结了C/C++项目的依赖模式,构建了一个全面而精确的C/C++依赖检测器。使用我们的检测器,我们从GitHub上包含24 K C/C++存储库的大型数据库中提取依赖关系。基于提取的依赖关系,我们提供了实证研究的结果和发现,其目的是了解第三方物流的依赖关系的特点。我们进一步讨论了C/C++依赖管理的意义以及未来软件工程研究人员和开发人员在库开发、软件组合分析和C/C++包管理等领域的研究方向。
2022-09-20 cs.SE
Demystifying the Evolution of Neural Networks with BOM Analysis: Insights from a Large-Scale Study of 55,997 GitHub Repositories
针对神经网络软件演化分析缺乏适用物料清单的问题,提出NNBOM数据集,基于55,997个PyTorch仓库构建数据库,实证研究规模、复用与依赖演化,并开发两个原型应用。
2025-09-24 cs.SE
VEX-Bench: Benchmarking LLM Agents for Assessing Exploitability of Software Supply Chain Vulnerabilities
Purdue University(普渡大学);Red Hat(红帽公司)
VEX-Bench是首个评估LLM智能体判断软件供应链漏洞可利用性的基准,含75个真实案例,覆盖Python、Java和Go,实验表明现有模型在细粒度理由分类上仍面临挑战。
2026-09-09 cs.CR cs.LG cs.SE
CRaDLe: Deep Code Retrieval Based on Semantic Dependency Learning
代码检索是程序员重用开源存储库中现有代码片段的常见做法。给定用户查询(即,自然语言描述),代码检索旨在从一组代码片段中搜索最相关的代码片段。有效代码检索的主要挑战在于缓解自然语言描述和代码片段之间的语义鸿沟。随着可用开源代码数量的不断增加,最近的研究采用神经网络来学习两个源代码之间的语义匹配关系。语句级依赖信息突出了程序语句在执行过程中的依赖关系,反映了代码中一条语句的结构重要性,有利于准确捕捉代码语义,但从未被用于代码检索任务。在本文中,我们提出了CRaDLe,一种新的方法,代码检索基于语句级语义依赖学习。具体来说,CRaDLe通过在语句级别融合依赖性和语义信息来提取代码表示,然后为每个代码和描述对学习统一的向量表示,用于对匹配关系进行建模。在真实数据集上的综合实验和分析表明,该方法可以准确地检索给定查询的代码片段,并显着优于最先进的方法的任务。
2022-03-29 cs.SE
DevEval: A Manually-Annotated Code Generation Benchmark Aligned with Real-World Code Repositories
School of Computer Science, Peking University(北京大学计算机学院);Key Laboratory of High Confidence Software Technologies (Peking University), Ministry of Education(教育部高可信软件技术重点实验室(北京大学))
针对现有基准与真实代码仓库对齐度差的问题,提出手动标注的代码生成基准DevEval,包含1874个样本,并评估8个主流LLM,揭示了其在真实场景中的编码能力与不足。
2024-05-30 cs.CL cs.SE
EvoCodeBench: An Evolving Code Generation Benchmark Aligned with Real-World Code Repositories
School of Computer Science, Peking University(北京大学计算机学院)
本文提出EvoCodeBench基准,通过多维度对齐真实仓库、全面标注与演进更新机制,评估LLMs的仓库级代码生成能力,并实验揭示现有模型表现不足。
2024-03-31 cs.AI cs.CL cs.SE
GitQ- Towards Using Badges as Visual Cues for GitHub Projects
GitHub托管数百万个软件存储库,方便开发人员以多种方式为许多项目做出贡献。大多数关于仓库的信息都是基于文本的,以star、fork、commits等形式出现。然而,愿意为GitHub上的项目贡献内容的开发人员通常会发现,由于GitHub上存在大量的仓库,因此选择合适的项目进行贡献或重用是一件很有挑战性的事情。此外,获取这些所需的信息往往成为一个繁琐的过程,因为人们必须仔细挖掘隐藏在存储库中的信息。为了减轻工作密集型的挖掘过程,研究人员提出了npm标记来概述与项目的构建状态相关的信息。然而,这些标记是静态的,并且将它们的使用限制在包依赖性和构建细节上。向存储库添加诸如标记之类的可视提示可能会减少开发人员的搜索空间。因此,我们提出了GitQ,以自动增加GitHub存储库,其中包含代表源代码和项目维护信息的徽章。将GitQ作为浏览器插件呈现给GitHub可以让使用GitHub的开发人员轻松访问它。基于UTAUT模型,GitQ由15名开发人员进行评估,以了解开发人员对其有用性的看法。我们观察到,15个开发人员中有11个认为GitQ在使用GitQ生成的视觉提示来识别正确的存储库集方面很有用。源代码和工具可以在GitHub上下载,网址是https://github.com/gitq-for-github/plugin,演示可以在https://youtu.be/c0yohmIat3A上找到…
2022-05-02 cs.HC cs.SE
RepoMaster: Autonomous Exploration and Understanding of GitHub Repositories for Complex Task Solving
UCAS(中国科学技术大学);CASIA(中国科学院自动化研究所);BUPT(北京邮电大学);PKU(北京大学);NUS(新加坡国立大学);StepFun;THU(清华大学);SCNU(华南师范大学);USTC(中国科学技术大学);SDU(山东大学)
针对代码智能体难以利用GitHub仓库解决复杂任务的问题,提出RepoMaster自主框架,通过构建函数调用图等识别核心组件并优化上下文,在两个基准测试中显著提升任务表现并降低token消耗。
2025-08-25 cs.AI cs.SE
Identifying Latent Declarative Representations of Code for Assisting Repository Migration
BITS Pilani(BITS Pilani( Pilani 理工学院));UNSW Sydney(新南威尔士大学悉尼分校)
该研究针对遗留代码仓库迁移难题,提出 ADFD-Migrate 方法,通过显式化代码的隐式声明式表示提升移植效果,在新基准 f2x50 上取得优于对比方法的移植正确性与完整性。
2026-08-26 cs.AI cs.SE
Modeling Library Dependencies and Updates in Large Software Repository Universes
第三方开源软件(OSS)的流行(重用)证明了托管存储库(如maven)对当今软件开发的影响。更新库至关重要,最近的研究强调了与老化的OSS库相关的漏洞。迁移到更新的库的决定可能是微不足道的(安全威胁),也可能是复杂的(评估适应更改所需的工作)。通过利用“智慧的软件库人群”,我们提出了一个简单而有效的方法来推荐“同意”库更新。我们的Software Universe Graph(SUG)对库依赖性进行建模,并从超级存储库中挖掘更新信息,以提供不同的度量和可视化,帮助做出更新决策。为了进行评估,我们首先从6,374个maven独特工件的188,951个节点构建了一个SUG。然后,我们将展示如何通过真实世界的例子来应用我们的指标和可视化。作为扩展,我们展示了SUG如何比较不同超级存储库之间的依赖关系。从100个GitHub应用程序的样本中,我们的方法发现,平均79%相似的重叠依赖组合存在于maven和github超级存储库世界之间。
2017-09-14 cs.SE
Präzi: From Package-based to Call-based Dependency Networks
Java、JavaScript和Rust等现代程序设计语言通过托管高度相互依赖的软件包(即,可重用库)。研究软件包之间的相互依赖性的标准方法是通过解析清单数据来推断包依赖性网络。这样的网络有助于回答诸如“有多少软件包依赖于具有已知安全问题的软件包?或者“最常用的软件包是什么?".然而,在现有的研究中,一个被忽视的方面是,清单推断的关系不一定检查这些依赖关系在源代码中的实际使用。为了更好地建模包之间的依赖关系,我们开发了Präzi,这是一种结合包的清单和调用图的方法。Präzi在更细粒度的函数级别而不是清单级别构建依赖网络。本文讨论了流行系统程序设计语言Rust的原型Präzi实现。我们使用Präzi在功能级别上描述Rust的包存储库Cratesio,并与基于元数据的网络进行比较研究。我们的结果表明,基于元数据的网络概括了包如何使用其依赖关系。使用Präzi,我们发现包只调用了40%的已解析依赖项,并且对34个案例的手动分析表明,并非所有包都以相同的方式使用依赖项。我们认为,有兴趣了解开发人员或程序如何使用依赖关系的研究人员和从业者应该考虑其上下文-而不是所有已解决的依赖关系的总和。
2021-10-20 cs.SE
SetupX: Can LLM Agents Learn from Past Failures in Functionality-Correct Code Repository Setup?
Shanghai Jiao Tong University(上海交通大学);Beijing University of Posts and Telecommunications(北京邮电大学);Independent Researcher(独立研究者);Jinan Inspur Data Technology Co., Ltd.(济南 Inspur 数据技术有限公司)
提出SetupX框架,通过经验学习、推测执行和验证协议解决代码仓库设置中的跨仓库经验迁移、多步试错和鲁棒验证问题,在基准测试中达到92%通过率。
2026-05-27 cs.AI cs.CL cs.LG
LLM Agents for Automated Dependency Upgrades
J.P. Morgan AI Research(摩根大通人工智能研究院)
本文提出基于LLM代理的自动化依赖升级方法,通过合成数据验证,实现了高效准确的代码更新与兼容性保障。
2025-11-24 cs.SE
A Retrieval-Augmented Generation Approach to Extracting Algorithmic Logic from Neural Networks
Computer Vision Lab, CAIDAS, University of Würzburg, Germany(计算机视觉实验室,CAIDAS,乌尔姆大学,德国)
本文提出NN-RAG方法,通过检索增强生成技术从神经网络代码库中提取并验证模块,实现了跨仓库的架构迁移与重复检测,提升了神经网络架构的可复现性和多样性。
2026-05-16 cs.CV cs.SE
Self-Admitted Technical Debt in LLM Software: An Empirical Comparison with ML and Non-ML Software
École de Technologie Supérieure - ÉTS Montreal(蒙特利尔高等工程技术学院);Trent University(特伦特大学)
本文通过实证研究比较了大语言模型、机器学习和非机器学习软件中的技术债情况,发现LLM系统积累技术债的速度与ML系统相似,但保持无债时间更长,并发现了三种新的技术债类型。
2026-01-20 cs.SE
DepWareTrans: Dependency-Aware Incremental Repository Migration across Co-executable Languages
TU Munich(慕尼黑工业大学);andrena objects;University of Groningen(格罗宁根大学)
提出依赖感知增量迁移框架,构建依赖图分组文件进行批量翻译,在 STAR 仓库等上实现 100% 编译和测试成功率,提升仓库级代码翻译的可扩展性与可靠性。
2026-08-17 cs.SE
An Empirical Study of the Evolution of GitHub Actions Workflows
University of Mons(蒙斯大学);Radboud University(拉德堡德大学)
本研究通过分析GitHub Actions工作流的变化,发现工作流修改多集中于任务配置,且大多数修改较小,强调了对依赖管理和AI支持工作流安全性的需求。
2026-03-01 cs.SE
Mutating the "Immutable": A Large-Scale Study of Git Tag Alterations
Télécom Paris, Institut Polytechnique de Paris(巴黎电信学院,巴黎理工学院)
通过分析3.284亿软件仓库,发现1020万次标签变更影响18.9万仓库,并与Nixpkgs交叉验证表明标签变更导致可重现构建失败,建议使用加密提交哈希固定依赖并建立审计日志。
2026-07-01 cs.SE
AsynCodeBench: Benchmarking Collaboration of Asynchronous Multi-Agent Systems in Software Engineering
University of Houston(休斯顿大学);New York University(纽约大学);Texas A&M University(德克萨斯农工大学);UCSD(加州大学圣地亚哥分校);Worcester Polytechnic Institute(伍斯特理工学院);Oregon State University(俄勒冈州立大学)
提出依赖为中心的异步多智能体协作基准AsynCodeBench,用ADPR和DRS度量协作,发现编码能力与协作能力存在差距,并识别出跳跃窗口模式。
2026-09-29 cs.AI cs.MA cs.SE
Structural and Connectivity Patterns in the Maven Central Software Dependency Network
本文利用网络科学方法分析Maven Central依赖图,基于Goblin框架采样构建包含130万节点和2,090万边的图,发现其具有无标度小世界拓扑,少数测试框架和通用工具库等基础设施枢纽支撑多数项目,同时也构成系统性风险。
2025-08-19 cs.SE
Understanding by Reconstruction: Reversing the Software Development Process for LLM Pretraining
ByteDance Seed(字节跳动种子);Fudan University(复旦大学);M-A-P;ByteDance TikTok(字节跳动TikTok);Shanghai Innovation Institute(上海创新研究所);The Hong Kong University of Science and Technology(香港科技大学)
本文提出通过重构软件开发过程来提升LLM性能,通过模拟多智能体轨迹生成更丰富的监督信号,实验显示在多个基准测试中效果显著。
2026-03-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
File-Level Copying Is an Implicit Dependency in Open Source
Peking University(北京大学);University of Tennessee, Knoxville(田纳西大学诺克斯维尔分校)
通过混合方法研究整个开源生态中的文件复制,发现其导致供应链可见性缺失,并识别出安全与许可风险集中在不同复制形式中。
2026-07-03 cs.SE
AgOSS: A Dataset and Multi-Layer Characterization of Open-Source Agricultural Software
Purdue University(普渡大学)
研究构建含66个仓库的AgOSS开源农业软件数据集,通过多维度安全评估发现其供应链安全差距源于项目规模与成熟度而非领域特性,安全保障需聚焦贡献者能力与依赖卫生。
2026-09-03 cs.SE
Repository Intelligence Graph: Deterministic Architectural Map for LLM Code Assistants
Blavatnik School of Computer Science Tel Aviv University(布拉瓦特尼克计算机科学学院特拉维夫大学)
本研究提出仓库智能图(RIG)以提升LLM代码助手的构建和测试结构理解能力,通过确定性架构图和SPADE提取器实现结构化问题解答的准确性与效率提升。
2026-01-15 cs.AI cs.SE
Do Coding Agents Reuse Existing Code or Reinvent the Wheel?
Peking University(北京大学);Fudan University(复旦大学);Zhongguancun Academy(中关村学院);Shanghai Jiao Tong University(上海交通大学);Tsinghua University(清华大学);The Chinese University of Hong Kong, Shenzhen(香港中文大学(深圳))
针对编码智能体在真实代码库中是否复用现有代码的问题,提出RepoReuse多轮基准,通过审计发现智能体存在复用不足和冗余累积,而通过率无法反映这些缺陷。
2026-09-29 cs.AI cs.CL cs.SE
An Exploratory Study of Dependabot Cooldown Adoption in Open-Source GitHub Projects
Nara Institute of Science and Technology(奈良先端科学技术大学院大学);The University of Osaka(大阪大学);Wakayama University(和歌山大学)
本研究探索了开源 GitHub 项目对 Dependabot 冷却期的采用情况,发现早期采用者多出于安全动机,且偏好简单的默认延迟(如七天),而非细粒度控制,建议工具提供稳健默认值。
2026-09-16 cs.SE
Teaching Code LLMs to Use Autocompletion Tools in Repository-Level Code Generation
针对仓库级代码生成中依赖错误问题,提出ToolGen方法,通过插入触发标记并微调代码LLM,在线调用自动补全工具,显著提升依赖覆盖率与静态有效性比率。
2024-07-18 cs.SE
Analyzing the Availability of E-Mail Addresses for PyPI Libraries
fortiss GmbH(fortiss有限公司);Technical University of Munich(慕尼黑工业大学)
研究PyPI上754,413个Python库及其GitHub仓库中电子邮件地址的可用性,发现79.1%的库有至少一个有效邮箱,但仍有793,000个无效条目需改进。
2026-05-01 cs.SE
Backstabber's Knife Collection: A Review of Open Source Software Supply Chain Attacks
软件供应链攻击的特征在于将恶意代码注入到软件包中,以危害链下游的相关系统。近年来,许多供应链攻击利用了软件开发过程中越来越多地使用开源,这是由依赖管理器提供的,依赖管理器在整个软件生存周期中自动解析、下载和安装数百个开源软件包。本文介绍了一个包含174个恶意软件包的数据集,这些软件包被用于对开源软件供应链的实际攻击,并通过流行的软件包存储库npm,PyPI和RubyGems分发。这些数据包的日期从2015年11月到2019年11月,是手动收集和分析的。本文还提出了两个一般的攻击树,提供一个结构化的概述技术注入恶意代码到下游用户的依赖树,并在不同的时间和不同的条件下执行这样的代码。这项工作旨在促进开源和研究社区未来开发预防和检测保障措施。
2020-05-19 cs.CR cs.SE
How Much Static Structure Do Code Agents Need? A Study of Deterministic Anchoring
Beihang University(北京航空航天大学)
研究轻量级静态分析(如调用图、继承层次)作为确定性锚定,通过注入结构注释提高代码智能体导航的可复现性和稳定性,发现锚定效果依赖粒度与仓库特性。
2026-07-03 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
Graph-Guided Repository Environment Construction
Chongqing University(重庆大学);University of New South Wales(新南威尔士大学)
提出Graph2Env,利用类型化依赖图DepGraph指导仓库环境构建,通过执行反馈持续细化并持久化修复,在200个Python仓库上实现81.0%的构建成功率,优于现有方法。
2026-09-29 cs.AI cs.SE
Beyond pip install: Evaluating LLM Agents for the Automated Installation of Python Projects
针对现有LLM软件工程智能体缺失仓库级依赖安装任务的问题,构建含40个Python项目的安装任务基准,提出Installamatic智能体通过检索仓库文档完成安装验证,实验显示55%的仓库十次尝试中至少可成功安装一次,并分析了失败原因与挑战。
2024-12-09 cs.SE
Automated Benchmark Generation for Repository-Level Coding Tasks
ETH Zurich(苏黎世联邦理工学院)
本文提出自动化系统 SetUpAgent 以解决仓库级编码基准构建依赖大量人工的问题,并基于其生成覆盖数百仓库的 SWEE-Bench 和面向应用的 SWA-Bench,揭示了现有基准存在显著分布偏差,导致智能体成功率最高下降 40%。
2025-03-10 cs.AI cs.SE
Dataset: Copy-based Reuse in Open Source Software
针对开源软件中缺乏复制复用研究的问题,该数据集提供整文件复用数据,利用World of Code基础设施开发高效检测算法,以支持相关研究与工具开发。
2023-12-14 cs.SE
SWE-QA: Can Language Models Answer Repository-level Code Questions?
Shanghai Jiao Tong University(上海交通大学)
本文提出SWE-QA基准,旨在研究自动化QA系统在真实代码环境中的能力,包含576个高质量问题对,涵盖意图理解、跨文件推理和多跳依赖分析,评估六种先进LLM在不同上下文增强策略下的表现。
2026-04-26 cs.CL cs.PL cs.SE
Topical: Learning Repository Embeddings from Source Code using Attention
JPMorgan Chase(摩根大通)
本研究提出新型深度神经网络Topical,借助注意力机制融合源代码、依赖图与脚本文本生成仓库级嵌入,在GitHub仓库训练后于自动标注等任务超越多个基线,兼具可扩展性与高效性,相关资源已开源。
2023-11-04 cs.AI 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
Source Code Comments: Overlooked in the Realm of Code Clone Detection
重用代码可能会在代码存储库中产生重复或近似重复的代码克隆。目前的代码克隆检测技术,如程序依赖图,依赖于代码结构和它们的依赖关系来检测克隆。这些技术是昂贵的,使用大量的处理能力、时间和存储器。在实践中,程序员经常利用代码注释来理解和重用代码,因为注释携带重要的领域知识。但目前的代码检测技术忽略了代码注释,这主要是由于英语语言的歧义性。信息检索技术的最新进展可能具有利用代码注释进行克隆检测的潜力。我们通过在JHotDraw包上实证比较检测克隆的准确性来研究这一点,JHotDraw包包含315个类和27K行代码。为了在文件级别检测克隆,我们使用了一种主题建模技术,潜在狄利克雷分配,来分析代码注释,并使用GRAPLE(利用程序依赖关系图)来分析代码。我们的结果显示94.86召回率和84.21精度与潜在的Dirichlet分配和28.7召回率和55.39精度使用GRAPLE。我们发现潜在狄利克雷分配产生误报的情况下,程序缺乏质量的意见。但是,这种限制可以通过使用混合方法来解决:在文件级别使用代码注释来减少克隆集,然后在方法级别使用基于程序依赖图的技术来检测精确的克隆。我们进一步分析了Java和Python包,Java Swing和PyGUI,发现召回率为74.86%,准确率为84.21%。我们的研究结果要求重新审查的假设,在当前的克隆检测技术中使用的代码注释。
2020-06-25 cs.SE
Code2UML: Agentic LLMs with context engineering for scalable software visualization
Bucharest University of Economic Studies(布加勒斯特经济大学)
提出一种基于五个专门智能体和确定性IR压缩层的智能体架构,用于从源代码仓库自动生成UML图,在12个开源仓库和7种UML图上验证了高语法有效性(平均91.5%)和结构质量(平均81.7/100),且质量不随规模下降。
2026-05-23 cs.AI cs.SE
Software Dependencies 2.0: An Empirical Study of Reuse and Integration of Pre-Trained Models in Open-Source Projects
Queen's University(女王大学);Socket Inc.(Socket公司);Purdue University(普渡大学)
本研究通过分析开源项目中预训练模型的重用与集成,揭示软件依赖2.0的结构、重用流程及与其他组件的交互。
2026-02-18 cs.AI cs.SE
What You See Is Not What You Execute: Memory-Based Runtime SBOM Generation for Supply Chain Security
Virginia Commonwealth University(弗吉尼亚联邦大学);Volatility Foundation(Volatility基金会)
针对现有SBOM无法捕获运行时组件的问题,提出MEM-SBOM内存取证框架,从Python应用运行时状态直接生成SBOM,实现100%提取准确率并发现遗漏依赖。
2026-06-29 cs.CR cs.SE
TypeScript Repository Indexing for Code Agent Retrieval
Sun Yat-sen University(中山大学);The Chinese University of Hong Kong(香港中文大学)
本文提出abcoder-ts-parser,通过TypeScript编译器API直接生成可靠的代码索引,提升大型TypeScript仓库中代码代理的上下文检索效率。
2026-04-21 cs.SE
The Code of Theseus: Can Agents Rebuild Software from Recovered Design Documents?
IDSIA (SUPSI)(瑞士应用信息学与系统研究所(瑞士南方应用科学与艺术大学));DFKI(德国人工智能研究中心)
该研究提出从代码库恢复设计的框架,构建含万余代码库的数据集,通过忒修斯之船实验发现恢复的设计可优化模块结构,为智能体设计提供可扩展数据。
2026-10-16 cs.SE
Bridging the Prototype-Production Gap: A Multi-Agent System for Notebooks Transformation
Siemens AG(西门子股份公司);Technical University of Munich(慕尼黑工业大学)
本文提出多智能体系统 Codelevate,通过 Architect、Developer 和 Structure 三个智能体协同工作,自动将 Jupyter notebook 转换为结构良好、可维护的 Python 代码仓库,在保留计算语义的同时提升代码质量指标。
2025-11-10 cs.MA cs.SE