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
What's in a GitHub Repository? -- A Software Documentation Perspective
开发人员在GitHub上使用和贡献存储库。存储库中的文档是一个重要的资源,可以帮助开发人员理解、维护和为项目做出贡献。目前,存储库中的文档是多样化的,存在于各种文件中,其中大部分存在于自述文件中。然而,存储库中的其他软件工件,如问题报告和拉取请求,也可以对文档有所贡献,而无需显式指定文档。因此,在本文中,我们提出了一个分类的文档来源,通过分析不同的软件工件,开发人员的采访和卡片排序的方法。我们检查了950个公共GitHub存储库中的多个工件,这些工件是用四种不同的程序设计语言编写的,C++,C#,Python和Java,并分析了可以从这些工件中提取的文档的类型和数量。为此,我们观察到,约25.93%的信息提取的所有来源中提出的分类包含错误相关的文档,并拉请求贡献了约18.21%的提取信息。
2021-03-01 cs.SE
GraphRepo: Fast Exploration in Software Repository Mining
从软件存储库中挖掘和存储数据通常是在每个项目的基础上完成的,其中每个项目使用数据模式、提取工具和(中间)存储基础设施的独特组合。我们介绍了GraphRepo,这是一个工具,它可以通过统一的方法从Git存储库中提取数据,存储数据,并在存储库挖掘项目中共享数据。GraphRepo使用符合ACID的图形数据库管理系统Neo4j,并允许模块化插件组件用于存储库提取(钻孔机),分析(矿工)和导出(映射器)。该图通过消除对数据规范化的需求,实现了一种自然的数据查询方式。GraphRepo内置于Python中,提供多种方式与丰富的Python生态系统和大数据解决方案进行交互。图形数据库的模式是通用的和可扩展的。与创建特定于项目的基础设施相比,使用GraphRepo进行软件存储库挖掘提供了几个优势:(i)短迭代探索的高性能和对大型数据集的可扩展性(ii)提取数据的轻松分发(例如,用于复制)或在项目之间共享提取的数据,以及(iii)可扩展性和互操作性。四个开源项目的一组基准测试表明,GraphRepo允许非常快速地查询存储库数据,一旦提取和索引。更多信息可以在项目文档(可在https://tinyurl.com/grepodoc获得)和项目存储库(可在https://tinyurl.com/grrepo获得)中找到。视频演示也可在线获取(https://tinyurl.com/grrepov)
2020-08-14 cs.SE
Helping Software Developers through Offline Repository Based API Searching in Data MiningIntegrated Environment
软件开发变化如此之快。如果能够通过对开发人员的指导来加快软件开发的进程,将是非常有益的。在开发过程中给开发人员提供适当的指导和准确的建议,可以减少软件开发费用,也可以节省开发人员宝贵的时间。有很多方法可以加速软件开发过程。这可以通过代码辅助工具来完成,这些工具通过从应用程序编程接口(API)的特定存储库中推荐相关项目来帮助开发人员。一些方法是基于在线搜索,由于请求和响应延迟,因为它必须处理服务器中的超大文件,因此具有一些缺点。开发人员通常使用以前完成的资源以及库或框架来生成相关的代码片段,这些代码片段由API的引用存储库提供。开发人员发现很难选择合适的方法,因为有成千上万的方法,其中一些没有正确的文档。在本文中,我们提出了一个概念及其相应的框架,以指导开发人员从离线挖掘的存储库中建议相关的API方法。从我们所做的调查,我们可以说,我们的方法比一些现有的方法工作得更好。
2020-06-21 cs.SE
Revealing the value of Repository Centrality in lifespan prediction of Open Source Software Projects
本研究提出仓库中心性这一基于HITS权重的新度量,结合生存分析模型预测开源项目生命周期,验证其为预测弃用风险的核心特征,为开源生态健康监测提供新方法。
2024-05-13 cs.SE
Know Before Fix: QA-Driven Repository Knowledge Acquisition for Software Issue Resolution
Shanghai Jiao Tong University(上海交通大学);University of Pittsburgh(匹兹堡大学);Guangdong Technion–Israel Institute of Technology(广东以色列理工学院)
研究针对基于大语言模型的编码代理解决软件问题易因仓库理解不足出错的问题,提出ACQUIRE框架,通过问答驱动在修复前获取仓库知识,经两阶段解耦知识获取与补丁生成,实验证明该框架能提升问题解决准确性。
2026-07-14 cs.SE
A Framework for Using LLMs for Repository Mining Studies in Empirical Software Engineering
本研究基于两项软件仓库挖掘研究的经验,提出名为PRIMES的LLM仓库挖掘研究框架,含提示词优化检查清单与结果追踪机制,可提升相关研究的可靠性与可复现性,并指出未来需解决幻觉等挑战。
2024-12-12 cs.SE
Rethinking complexity for software code structures: A pioneering study on Linux kernel code repository
人工智能(AI)的最新进展显示出在各种复杂任务中减轻人类负担的巨大潜力。从软件工程的角度来看,人工智能技术可以在开发的许多基本方面看到,例如源代码理解,其中实现了最先进的模型来自动提取和表达代码片段的含义。然而,这些技术仍在努力解决和理解工业代码中的复杂结构,因此远离现实世界的应用。在目前的工作中,我们建立了一个创新的和系统的框架,强调在代码理解和进一步的软件工程的复杂性问题。在从最新的Linux内核源代码中自动收集数据汇集的基础上,我们通过令牌提取和关系解析将代码结构建模为复杂网络。对复杂性的全面分析进一步揭示了基于网络的代码表示的密度和规模。我们的工作从工业强度的软件代码构建了第一个大规模数据集,用于下游软件工程任务,包括代码理解,并首次将复杂网络理论纳入软件开发的代码级调查。从长远来看,所提出的方法可以在整个软件工程过程中发挥重要作用,通过重新定义和拥抱复杂性来支持软件设计,编码,调试,测试和维护。
2021-03-01 cs.SE
Detecting Outdated Code Element References in Software Repository Documentation
过时的文档是软件开发中的一个普遍问题,它妨碍了软件的有效使用,并误导了用户和开发人员。我们认为,文档如此容易变得不同步的一个可能原因是开发人员不知道他们的源代码修改何时会使文档过时。确保文档始终与源代码同步需要相当大的努力,特别是对于大型代码库。为了解决这种情况,我们提出了一种方法,可以自动检测代码元素引用后,所有的源代码实例已被删除的文档中生存。在这项工作中,我们分析了3,000多个GitHub项目,发现大多数项目在其历史的某个时刻至少包含一个过时的代码元素引用。我们将GitHub问题提交给现实世界的项目,其中包含我们的方法检测到的过时引用,其中一些已经导致文档修复。作为保持软件存储库中文档最新的一项举措,我们已经为开发人员提供了我们的实现,以扫描他们的GitHub项目以查找过时的代码元素引用。
2022-12-02 cs.SE
Enhancing repository-level software repair via repository-aware knowledge graphs
针对仓库级软件修复中语义鸿沟等问题,提出融合仓库感知知识图谱与路径引导机制的KGCompass,在SWE-bench Lite上实现了跨多模型的显著修复性能提升,兼具模型无关性与成本效益。
2025-10-03 cs.SE
Toward a Methodological Knowledge for Service-Oriented Development Based on OPEN Meta Model
情境方法工程使用可重用方法片段的存储库,这些方法片段来自现有的软件开发方法和行业最佳实践,以简化与手头项目的特定特征相一致的任何特定于项目的软件开发方法的构建。在这方面,OPEN是一个成熟的、标准化的和流行的情境方法工程方法。它有一个大型的可重用方法片段库,称为OPF,方法工程师可以根据项目的需求选择和组装它们,以构建一个新的特定于项目的软件开发方法。在这份立场文件中,我们提出了开放的基本概念和基础,并认为迫切需要新的扩展开放和它的存储库,以支持面向服务的软件开发实践。保留字:开放过程框架,OPF知识库,开放元模型,情景方法工程,方法片段,面向服务软件开发
2020-05-10 cs.SE
FeatX: Editing Software by Editing Features for Repository-Level Code Evolution
Peking University(北京大学)
提出特征导向工具FeatX,通过提取层次化史诗-特征结构并调用三阶段演化代理,将特征编辑转化为代码补丁,显著降低认知负荷并提升修改定位F1达42.6%。
2026-07-01 cs.SE
Software Supply Chains are Dead: Use-Case-Oriented Regeneration
Purdue University(普渡大学)
研究现代软件开发中构建与复用权衡因软件供应链攻击及生成式人工智能而改变,提出面向用例的再生范式,评估智能工作流程,通过对180个存储库-依赖对测量,证明该方法可行,推动软件采购向可验证的特定于存储库的代码合成发展。
2026-07-15 cs.SE
Smart-Corpus: an Organized Repository of Ethereum Smart Contracts Source Code and Metrics
许多经验性的软件工程研究表明,有一个巨大的需求,源代码的获取,过滤和分类库。在过去的几年里,以太坊区块浏览器服务已经成为一个流行的项目,用于探索和搜索以太坊区块链数据,如交易,地址,令牌,智能合约的源代码,价格和以太坊区块链上发生的其他活动。尽管这种服务是可用的,但检索对经验软件工程研究有用的特定信息,例如研究智能合约的软件指标,可能需要许多子任务,例如搜索块中的特定交易,解析HTML格式的文件以及过滤智能合约以删除重复的代码或未使用的智能合约。在本文中,我们提出了创建智能语料库的问题,智能语料库是一个有组织的、合理的、最新的存储库中的智能合约语料库,在这个存储库中,可以轻松、系统地检索Solidity源代码和其他关于以太坊智能合约的元数据。我们介绍了智能语料库的设计及其初步实现,并展示了如何查询和处理各种程序设计语言的智能合约源代码的数据集,获得有关智能合约及其软件度量的有用信息。智能语料库旨在创建一个智能合约存储库,其中智能合约数据(源代码,ABI和字节码)可以免费立即获得,并根据科学文献中确定的主要软件指标进行分类。智能合约的源代码已经过EtherScan验证,每个合约都有自己的相关软件指标,由免费软件PASO计算。此外,智能语料库可以很容易地扩展,因为新的智能合约的数量每天都在增加。
2020-11-03 cs.SE
SWE-PolyVision: Benchmarking Cross-Image Abductive Reasoning for Repository-Level Software Engineering
CosmosMind;Peking University(北京大学);Tsinghua University(清华大学);HKUST(香港科技大学);ModCraft;Renmin University of China(中国人民大学)
提出 SWE-PolyVision 基准,含 92 个真实仓库任务和 402 张图像,评估 11 个编码模型在三种视觉访问模式下跨图像溯因推理能力,揭示视觉证据可用性与成功修复之间的差距。
2026-10-16 cs.SE
SGAgent: Suggestion-Guided LLM-Based Multi-Agent Framework for Repository-Level Software Repair
Nanjing University of Science and Technology(南京理工大学);Nanjing University(南京大学)
提出SGAgent框架,通过引入建议阶段(localize-suggest-fix范式)和知识图谱工具,增强从定位到修复的推理,在SWE-Bench-Lite上达到51.3%修复准确率。
2026-05-25 cs.SE
Toward a Benchmark Repository for Software Maintenance Tool Evaluations with Humans
为了在与人类参与者的对照实验中评估软件维护技术和工具,研究人员目前使用的项目和任务是在临时的基础上选择的。这可能会不切实际地支持他们的工具,并使结果的比较变得困难。我们建议逐步创建一个基准库,其中包含与基于人类的研究相关的项目、任务和元数据。在本文中,我们讨论了这样一个存储库的要求和挑战,以及可能导致其建设的步骤。
2020-11-30 cs.PL cs.SE
Adopting Softer Approaches in the Study of Repository Data: A Comparative Analysis
内容:由于认识到需要了解在软件开发过程中制定的人员流程,软件存储库和邮件列表已成为许多研究的焦点。然而,研究人员往往主要使用数学和基于频率的技术来检查其中包含的软件工件。目的:越来越多的人认识到,这些方法只揭示了软件项目期间发生的事情的一部分,更深层次的上下文方法可以提供对软件团队动态的复杂本质的进一步理解。我们在这项研究中证明了这种方法的相关性和实用性。方法:我们使用心理语言学和定向内容分析(CA)来研究项目任务驱动团队态度和知识共享的方式。我们比较了这两种方法的结果,并为使用类似形式的存储库数据的研究人员提供了方法上的建议。结果:我们的分析揭示了显着的差异,团队的工作方式,他们的任务组合和角色的分配。结论:我们克服了与采用纯定量方法相关的限制,同时避免了在完整的案例研究中所需的实地工作的时间密集性和潜在的侵入性。
2021-06-07 cs.SE
Do Developers Adopt Green Architectural Tactics for ML-Enabled Systems? A Mining Software Repository Study
本文通过挖掘168个GitHub开源ML项目,利用LLM挖掘机制识别绿色架构策略的采用情况,为ML系统可持续实践提供实证见解并推动未来自动化。
2025-01-02 cs.SE
Survey Results on Threats To External Validity, Generalizability Concerns, Data Sharing and University-Industry Collaboration in Mining Software Repository (MSR) Research
采矿软件仓库(MSR)是一个应用和面向企业的领域,旨在解决从业者遇到的实际问题,并为行业带来价值。结果和发现的重复性、可推广性和外部有效性、大学-产业合作、数据共享和创建数据集存储库是MSR研究中的重要问题。通过对MSR论文的文献计量分析,发现缺乏产学合作、缺乏封闭或适当来源的数据集研究、缺乏研究者之间的数据和工具共享。我们对过去三年(2012年,2013年和2014年)MSR会议的作者进行了调查,以收集他们对解决所述问题的意见和建议的数据。我们向100多位作者提出了20个问题,并收到了39位作者的回复。我们的研究结果表明,大约三分之一的受访者总是公开他们的数据集,大约三分之一的人认为,数据共享应该是在MSR会议上发布的强制性条件。我们的调查显示,超过50%的作者在他们的研究中只使用开源软件(OSS)数据集。超过50%的受访者表示,在公司外部共享工业数据集的困难是大学与工业合作的主要障碍之一。
2015-06-04 cs.SE
ATime-Consistent Benchmark for Repository-Level Software Engineering Evaluation
本文提出时间一致性基准方法,通过冻结仓库时间点并利用历史代码知识评估未来任务,展示提示构造对软件工程评估的重要性。
2026-03-27 cs.AI cs.SE
Blockchain-Oriented Software Variant Forks: A Preliminary Study
在GitHub等协作式社交开发平台中,创建存储库是一种常见的活动。一个变体分支想要将开发从原始的存储库中分离出来,并朝着不同的方向发展。在这项初步的探索性研究中,我们分析了在面向区块链的软件中创建变体分叉的可能原因。通过收集GitHub中的存储库,我们创建了一个包含存储库及其变体的数据集,从中我们手动分析了86个变体。根据我们研究的变体,在面向区块链的软件中创建变体的主要原因是支持不同的区块链平台(65%)。
2022-04-23 cs.SE
What Affects Team Behavior? Preliminary Linguistic Analysis of Communications in the Jazz Repository
越来越多的人相信,理解和解决软件开发过程中使用的人类过程可能会为行业提供更多的价值,而不是为实现各种方法和工具提供更多的建议。为此,相当多的研究工作一直致力于研究人类的问题,在软件工件中表示,由于其相对不引人注目的性质。我们遵循这条研究路线,并利用数据采掘技术和语言分析对团队行为进行了初步研究。我们的数据源,IBMRationalJazz存储库,被挖掘出来,并且从三个不同的项目领域中提取数据。然后使用LIWC语言分析工具分析这些项目中的通信。我们发现,虽然在致力于不同软件成果的项目领域工作的团队之间的语言使用存在一些差异,但项目类型和参与人员的组合(和数量)并没有影响团队行为,这在他们的沟通中很明显。然而,这些评估是初步的,我们计划进一步的探索性分析来验证这些结果。我们解释了这些发现,并讨论了它们对软件工程实践的影响。
2021-01-11 cs.SE
Exploring the links between software development task type, team attitudes and task completion performance: Insights from the Jazz repository
内容:为了更好地理解软件开发中各种人为因素的影响,以及团队的态度如何与他们的表现相关,越来越多的注意力被给予了与团队相关的人工制品的研究。特别是,研究人员对一系列团队沟通渠道进行了大量研究,以探索开发人员的语言使用与他们交付的产品中软件错误发生率之间的联系。然而,尽管有令人信服的证据表明需要更广泛地了解团队的态度,但对软件系统开发和交付期间通常执行的全部软件任务的关注相对有限。目的:因此,我们的动机,研究任务类型和团队的态度之间的关系,以及如何在团队的通信中表达的态度可能与他们的任务完成绩效时,进行一系列的活动。方法:我们的调查涉及来自149个团队的474名IBM Jazz实践者的人工制品,他们在三年的时间里从事大约30,000项软件开发任务。我们应用语言分析,标准的统计技术和指导内容分析,以解决我们的研究目标。结果如下:我们的证据表明,团队在处理各种形式的软件任务时表达了不同的态度,当他们致力于修复缺陷时,他们特别情绪化。也就是说,团队的态度表达并不能很好地预测他们的任务完成情况。结论:旨在减少bug发生率的努力可以积极地限制团队在解决bug时的情绪倾向,从而减少对情绪稳定的成员的高需求。(节录)
2021-04-25 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
Forking Without Clicking: on How to Identify Software Repository Forks
随着时间的推移,软件“分叉”的概念已经从社区分歧的(负面)现象转变为使用分布式版本控制系统(Distributed Version Control System,简称DCS)存储库来协作改进单个产品而不会踩到彼此的脚趾。在这两种情况下,参与fork的Linux存储库共享共同开发历史的一部分。对软件分叉的研究通常依赖于托管平台元数据,如GitHub,作为构成分叉的真实来源。然而,这些“forge forks”只能识别为在平台上创建的forks存储库,例如,通过点击平台用户界面上的“fork”按钮。代码托管平台的多样性增加(例如,GitLab)和重要开发社区的习惯(例如,Linux内核,它主要不是托管在任何单一平台上)对信任代码托管平台来识别fork的可靠性提出了质疑。这样做可能会在实证研究中引入选择和方法上的偏见。在本文中,我们将探讨“软件分叉”的各种定义,试图捕捉现实世界中存在的分叉工作流。我们根据不同的定义量化了GitHub上有多少仓库被识别为fork的差异,确认了一个重要的数字可以通过只考虑forge fork而被忽略。我们研究了分叉网络的结构和规模,观察它们如何受到所提出的定义的影响,并讨论了对实证研究的潜在影响。
2020-11-16 cs.SE
Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming
软件工程长期以来一直在研究软件开发人员如何工作,构建了一个工作主体,形成了许多软件工程最佳实践、工具和理论的基础。最近,一些开发人员开始录制自己参与开源项目编程任务的视频,使他们能够与其他开发人员分享知识和社交。我们相信这些视频为软件工程研究和教育提供了重要的机会。在本文中,我们讨论了这些视频的潜在用途,以及如何最好地实现这种设想的使用开放的问题。我们建议创建一个中央存储库的编程视频,使分析和注释视频,以说明感兴趣的特定行为,如提问和回答问题,采用策略,和软件工程理论。这样一个知识库将提供一种重要的新方法,使软件工程研究人员和学生都能理解软件开发人员是如何工作的。
2019-05-09 cs.SE
On the Impact of 3D Visualization of Repository Metrics in Software Engineering Education
本研究探讨基于VR的仓库指标可视化在软件工程教育中对过程理解教学的影响,通过对照实验比较VR与非VR方法,验证VR能否提升学生的学习体验和分析技能。
2024-12-20 cs.CY cs.SE
Categorizing the Content of GitHub README Files
README文件在塑造开发人员对软件存储库的第一印象和记录存储库托管的软件项目方面发挥着重要作用。然而,我们缺乏对典型README文件内容的系统性理解,也缺乏可以自动处理这些文件的工具。为了缩小这一差距,我们进行了一项定性研究,涉及从393个随机抽样的GitHub存储库中手动注释4,226个README文件部分,我们设计和评估了一个分类器和一组可以自动分类这些部分的功能。我们发现,讨论存储库的“什么”和“如何”的信息非常普遍,而许多README文件缺乏关于存储库的目的和状态的信息。我们的多标签分类器可以预测8个不同的类别,达到了0.746的F1分数。为了评估分类的有用性,我们使用自动确定的类来使用徽章标记GitHub README文件中的部分,并向20名软件专业人员展示带有和不带这些徽章的文件。大多数参与者认为,自动标记的部分的基础上,我们的分类,以方便信息发现。这项工作使软件存储库的所有者能够提高其文档的质量,并有可能使软件开发社区更容易在GitHub README文件中发现相关信息。
2018-07-30 cs.SE
From Architecture to Binary: Ensuring Cross-Domain Consistency in Model-Based Airborne Software Development
Technical University of Munich(慕尼黑工业大学)
针对机载软件开发中跨域不一致问题,提出以仓库为中心的实现方案,结合CI流水线与自动化检查,在实验项目中验证了方案的有效性。
2026-08-31 cs.SE
Guiding Software Developers by Social Networking Application Plug-in using the Multiple Bridge Source Repository through a Data Mining Integrated Approach
在当今世界,社交网络是一个重要的(充满力量的)大众传播媒介。几乎所有阶层的人都在通过使用不同社交网站中的大量用户友好应用程序相互交流并分享他们的观点,时刻和想法。找到一个从来没有听说过社交网络的人真是难以置信。可用的社交网站通常使其用户能够通过特定的模板和嵌入式代码源开发各种定制应用程序。具有一般开发知识的用户经常遇到重用这些资源的困难,最终缺乏指导方针和必要的API建议。在我们的工作中,我们提出了一个框架和模型,以帮助这些应用程序开发人员通过用户辅助插件工具,能够提供相同的API使用模式和序列,以响应特定的用户查询。我们将我们的系统命名为社交网络应用程序插件(SNAP)。我们搜索社交网络应用程序存储库,其中多个存储被桥接,并应用相应的挖掘算法,以找到相关的序列,以满足用户的需求。它提供了类似的、最相关的、功能性的API使用场景,并提供了一个选择、重用和修改推荐源的选项。从我们曾经做过的调查,我们的SNAP方法是能够推荐用户的无错误,可理解的,和最小的API模式。
2020-06-24 cs.SE
Who Do You Think You Are? Creating RSE Personas from GitHub Interactions
本文提出数据驱动的RSE角色画像方法,结合仓库挖掘与画像技术,在GitHub上分析115,174名贡献者,识别出七种从低到高交互性的角色,帮助理解研究软件工程中的贡献模式。
2025-10-06 cs.SE
Toward Scalable Automated Repository-Level Datasets for Software Vulnerability Detection
本文提出自动化生成仓库级数据集的方法,通过注入真实漏洞并合成可复现的漏洞证明,提升漏洞检测模型的训练与评估效果,同时研究注入与检测代理的对抗共进化循环以增强鲁棒性。
2026-03-18 cs.AI cs.SE
Evaluating Repository-level Software Documentation via Question Answering and Feature-Driven Development
Harbin Institute of Technology, Shenzhen, China(哈尔滨工业大学(深圳));Independent Researcher, China(独立研究者)
本文提出SWD-Bench基准,通过功能驱动的问答任务评估仓库级文档质量,揭示现有方法局限,并展示高质量文档对SWE-Agent问题解决率的提升。
2026-04-08 cs.AI cs.SE
Predicting the Number of Reported Bugs in a Software Repository
Ryerson University(瑞尔森大学)
错误增长模式预测是一项复杂的、不可减轻的任务,需要引起相当大的关注。预先了解软件系统中发现的错误的可能数量有助于软件开发人员在方便的时候指定足够的资源。开发人员也可以使用这些信息来采取必要的行动,以提高系统的质量,进而提高客户满意度。在这项研究中,我们研究了八种不同的时间序列预测模型,包括长短期记忆神经网络(LSTM),自回归综合移动平均(ARIMA)和随机森林回归。此外,我们将这些预测模型,如软件发布日期的外生变量的影响进行评估。我们根据不同的性能指标分析每个模型的长期预测质量。该评估是在Mozilla上进行的,Mozilla是一个大型开源软件应用程序。该数据集最初从Bugzilla中挖掘,包含2010年1月至2019年12月期间项目的错误数量。我们的数值分析提供了对缺陷库中趋势评估的见解。我们观察到,LSTM在考虑长期预测时是有效的,而由外生变量丰富的随机森林回归器在预测短期错误数量方面表现更好。
2021-04-24 cs.LG cs.SE
A^3-CodGen: A Repository-Level Code Generation Framework for Code Reuse with Local-Aware, Global-Aware, and Third-Party-Library-Aware
提出 A^3-CodGen 仓库级代码生成框架,融合当前文件、跨文件及第三方库上下文,提升生成代码的准确性、效率与复用率。
2024-10-28 cs.SE
Dealing with SonarQube Cloud: Initial Results from a Mining Software Repository Study
本文通过挖掘软件仓库研究GitHub项目对SCA工具SonarQube Cloud的使用与定制情况,发现多数项目正确连接但存在配置问题,提出将质量门配置与软件结果关联的研究方向。
2025-08-26 cs.SE
A repository of automatic GUI test patterns in Android applications: Specification and Analysis using Alloy modeling language
软件行业的目标是为客户提供高质量的软件。软件测试是保证软件质量的关键和敏感阶段。由于移动设备的日益普及,Android应用程序的使用有所增加。几乎所有的都配备了图形用户界面与用户或系统进行交互。GUI是与现代软件进行通信的最常用工具。因此,完美的GUI是保证整个软件系统安全性、强度和可用性的GUI。GUI测试是确保产品质量的重要阶段,因为GUI是用户对最终产品的第一印象和最终视图。本文提出了一种新的技术,以提高基于模型的测试效率,使用合金建模语言。研究结果表明,这种方法需要更少的配置和建模时间比以前的方法。此外,使用GUI模式可以减少错误和违规。
2022-09-05 cs.LO cs.SE
ReproScore: Separating Readiness from Outcome in Research Software Reproducibility Assessment
Chemnitz University of Technology(开姆尼茨工业大学);FIZ Karlsruhe — Leibniz Institute for Information Infrastructure(卡尔斯鲁厄FIZ——莱布尼茨信息基础设施研究所);Friedrich Schiller University, Jena(耶拿弗里德里希·席勒大学)
本文提出ReproScore框架,通过分离可重复性准备度(RRS)与可重复性结果(ROS),结合成覆盖适应性复合评分(RCS),以解决现有工具将静态仓库完整性误认为执行成功的缺陷。
2026-05-13 cs.SE
RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graph
University of Illinois Urbana-Champaign(伊利诺伊大学厄巴纳-香槟分校);Tencent AI Seattle Lab(腾讯AI西雅图实验室);Rice University(莱斯大学);University of Notre Dame(圣母大学)
针对现有方法缺乏仓库级代码理解的问题,提出插件模块RepoGraph作为全仓库导航工具,接入多类方法后在SWE-bench等基准上显著提升性能,刷新开源框架最优水平。
2025-03-18 cs.AI cs.CL cs.SE
A Proposal for the Measurement and Documentation of Research Software Sustainability in Interactive Metadata Repositories
本文提出了一种交互式的存储库类型的研究软件元数据的措施和文件的软件可持续性积累元数据,并计算可持续性指标。这样一个储存库将有助于克服软件可持续性的技术障碍,促进发现和确定可持续的软件,从而也便利在软件管理计划的框架内记录研究软件。
2016-08-17 cs.CY 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
For Coding Agents, the Repository Matters
Daniel Russo(丹尼尔·鲁索)
研究发现,AI智能体贡献的代码在仓库层面产生的集成摩擦比人类贡献高约两倍,表明风险源于生态系统而非单个智能体,建议从生态系统层面进行治理。
2026-10-21 cs.AI cs.SE
Automated Inference of Software Library Usage Patterns
现代软件系统越来越依赖于第三方库。人们普遍认为,使用成熟且经过良好测试的第三方库可以提高开发人员的生产力,缩短上市时间,并生产出更可靠的软件。今天的开放源代码库提供了广泛的库,可以免费下载和使用。然而,由于软件库是单独记录的,但打算一起使用,开发人员不太可能充分利用这些重用机会。在本文中,我们提出了一种新的方法来自动识别第三方库的使用模式,即,开发人员通常一起使用的库集合。我们的方法采用层次聚类技术组在一起的软件库外部客户端使用的基础上。为了评估我们的方法,我们从Maven Central Repository中挖掘了超过6,000个流行库,并调查了Github存储库中超过38,000个客户端系统的使用情况。我们的实验表明,我们的技术是能够检测到大多数(77%)的高度一致和凝聚力的图书馆使用模式在相当数量的客户端系统。
2016-12-06 cs.SE
VulEval: Towards Repository-Level Evaluation of Software Vulnerability Detection
提出仓库级评估系统VulEval,通过函数级检测、依赖预测和仓库级检测三项任务及大规模数据集,填补了过程间漏洞检测评估的空白。
2024-04-24 cs.CR cs.SE
An Exploratory Study of Agent Plans for Agentic AI Coding Tools in Open-Source Software
University of Bamberg(班贝格大学);Heidelberg University(海德堡大学);Singapore Management University(新加坡管理大学);King’s College London(伦敦国王学院)
本文通过筛选36710个GitHub仓库识别出85个Markdown智能体计划文件,研究其支持的软件工程工作类型与提供的执行指导,明确其是研究人-智能体工作流任务意图的丰富工件。
2026-08-07 cs.SE
Don't Guess, Just Ask: Evaluating Interactive Requirement Clarification for Repository-Level Software Development
The Chinese University of Hong Kong, Shenzhen(香港中文大学(深圳))
该研究提出ReqClarifyBench基准,评估LLM在仓库级软件开发中通过交互将模糊用户意图转化为明确需求的能力,发现澄清效果与文档质量无必然关联,编码智能体工具未提升需求文档质量。
2026-10-12 cs.AI cs.SE
Mutation Testing for Reproducibility Safeguards in Machine Learning Research Software: An Empirical Study
本研究以MLReproMutate为工具,对39个机器学习研究仓库开展实证研究,发现现有验证工作流仅能检测8.7%的可复现性相关突变,提出可复现性导向的突变测试作为补充评估方式。
2026-08-28 cs.SE
What Makes a Popular Academic AI Repository?
许多人工智能研究人员正在GitHub存储库中发布伴随他们论文的代码,数据和其他资源。在本文中,我们将这些知识库称为学术AI知识库。我们的初步研究表明,高被引论文更有可能拥有流行的学术AI知识库(反之亦然)。因此,在这项研究中,我们对学术人工智能知识库进行了实证研究,以突出流行的学术人工智能知识库的良好软件工程实践。我们收集了1,149个学术AI存储库,其中我们将拥有最多星星的前20%存储库标记为受欢迎,我们将底部70%的存储库标记为不受欢迎。剩下的10%存储库被设置为流行和不流行的学术AI存储库之间的差距。我们提出了21个特征来描述学术AI知识库的软件工程实践。我们的实验结果表明,流行和不流行的学术AI存储库在11个研究特征上存在统计学显著差异--表明这两组存储库具有显著不同的软件工程实践。此外,我们发现README文件中指向其他GitHub存储库的链接数量、README文件中的图像数量以及包含许可证是区分两组学术AI存储库的最重要特征。我们的数据集和代码是公开的,可以与社区共享。
2020-10-10 cs.SE
Spotlights: Discovering Improvement Opportunities in Software Repositories
本文提出优化机会发现任务及Spotlights系统,通过逻辑映射和代理审查在软件仓库中定位改进区域,实验表明能恢复多数专家目标并显著提升性能。
2026-09-18 cs.SE
Code Graph Model (CGM): A Graph-Integrated Large Language Model for Repository-Level Software Engineering Tasks
Ant Group(蚂蚁集团);ShanghaiTech University(上海科技大学);Zhejiang University(浙江大学);Shanghai Jiaotong University(上海交通大学)
本文提出Code Graph Models(CGMs),将仓库代码图结构集成至LLM注意力机制并映射节点属性,结合无智能体图RAG框架,在SWE-bench Lite上取得43.00%解决率,超越此前最佳开源方法12.33%。
2025-06-23 cs.LG cs.SE
Wolves in the Repository: A Software Engineering Analysis of the XZ Utils Supply Chain Attack
本文分析XZ Utils供应链攻击(CVE-2024-3094),揭示攻击者操纵软件工程实践注入后门,提出保护开源生态的见解。
2025-04-24 cs.CR cs.SE
SWE-Gate: Passing Functional Tests Is Not Enough for Software Engineering Agents
Sun Yat-sen University(中山大学);Zhejiang University(浙江大学);Chongqing University(重庆大学)
SWE-Gate基准结合功能测试与审查约束评估,发现仅通过功能测试的软件工程智能体中约34%未满足审查约束,仅功能评估会高估智能体的修复能力。
2026-09-04 cs.AI cs.SE
An Empirical Validation of Open Source Repository Stability Metrics
本研究针对开源软件供应链依赖度提升的背景,对基于控制理论提出的综合稳定性指数(CSI)开展首次实证验证,通过100个高排名GitHub仓库实验优化了采样方式与统计方法,为开源项目健康监控提供了实证支撑的应用方案。
2025-08-02 cs.SE