Mining Software Repositories with a Collaborative Heuristic Repository
许多软件工程研究或任务依赖于对软件工程工件进行分类。在实践中,这是通过定义简单但通常不精确的分类,或者通过人工标记工件来完成的。不幸的是,这些分类中的错误会影响依赖它们的任务。为了提高这些分类的精度,我们建议在一个协作的启发式存储库中收集知识,研究人员可以为各种SE工件上的各种任务贡献大量不同的知识。然后,利用最先进的弱监督技术来训练高质量的分类器,从而改进分类。我们提出了一个初始版本的启发式存储库,我们适用于提交分类的具体任务。
2021-03-02 cs.SE
Data stream mining for predicting software build outcomes using source code metrics
软件开发项目涉及使用各种工具来产生软件工件。软件仓库,如源代码控制系统,已经成为一个重点的紧急研究,因为他们是一个丰富的信息源,有关软件开发项目。为了更深入地了解发展进程,挖掘这种储存库的做法越来越普遍。
2016-04-19 cs.SE
A Methodological Framework for LLM-Based Mining of Software Repositories
针对LLM在软件仓库挖掘中方法学整合缺乏理解的问题,通过混合方法研究揭示了15种方法、9种威胁和25种缓解策略,并提出了包含6阶段23子步骤的PRIMES 2.0实证框架,为基于LLM的MSR研究提供规范性支持。
2025-08-11 cs.SE
TNM: A Tool for Mining of Socio-Technical Data from Git Repositories
工程师之间的协作网络反映在版本控制系统(VCS)中开发人员活动的痕迹中。从Git存储库中提取数据是从事社会技术分析的研究人员和从业人员的一项基本任务,但这需要大量的工程工作。随着人们对分析社会技术数据并将其应用于实践的兴趣日益浓厚,目前还没有灵活且易于重复使用的工具来从虚拟社区服务中检索社会技术信息。由于没有通用的可重用工具来完成这项任务,挖掘的负担将研究人员的注意力从他们的核心研究问题上转移开来。在本文中,我们介绍了TNM --一个从Git存储库中挖掘社会技术数据的开源工具。TNM快速、灵活、易于扩展。TNM可在GitHub上获得:https://github.com/JetBrains-Research/tnm
2021-03-17 cs.SE cs.SI
Mining Bug Repositories for Multi-Fault Programs
针对 Defects4J 与 BugsInPy 多为单缺陷条目的局限,本文利用测试用例移植和故障位置转换构建保留原数据集特性的真实多故障程序数据集。
2024-04-10 cs.SE
Learning Domain-Specific Edit Operations from Model Repositories with Frequent Subgraph Mining
模型转换在模型驱动的软件开发中起着基础性的作用。它们可用于解决或支持中心任务,例如创建模型、处理模型协同进化和模型合并。在过去,已经提出了各种(半)自动方法来从元模型或示例中导出模型转换。这些方法需要耗时的手工制作或记录具体的示例,或者它们无法导出复杂的转换。我们提出了一种新的无监督的方法,称为Ockham,它能够从模型库中的模型历史中学习编辑操作。奥卡姆基于这样的想法,即有意义的编辑操作将是压缩模型差异的操作。我们评估我们的方法在两个控制实验和一个真实世界的案例研究的大规模工业模型驱动的建筑项目在铁路领域。我们发现,我们的方法是能够发现频繁的编辑操作,实际上已经应用。此外,Ockham能够在工业环境中提取对从业者有意义的编辑操作。
2021-08-05 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
G-Issue: Analyzing Lifetime and Evolution of Issue-related Artifacts from Open Source Repositories
University of Texas at El Paso(德克萨斯大学埃尔帕索分校)
提出G-Issue工具用于挖掘问题相关工件,通过对比实验和演化分析,发现其挖掘速度快但内存消耗大,并基于问题生命周期和演化可辅助优先级排序。
2026-06-23 cs.SE
Methodological Harness in Agentic Software Engineering: An Empirical Study on Mining Software Repositories
Universidad Politécnica de Madrid(马德里理工大学)
本研究基于AIDev数据集中的5,435个GitHub仓库,实证验证了智能体软件工程中八机制方法论约束框架的可观察性,发现机制采用以孤立形式为主,集成系统罕见。
2026-09-29 cs.SE
Integrating Large Language Models in Software Engineering Education: A Pilot Study through GitHub Repositories Mining
本研究通过挖掘400个GitHub项目开展试点,实证验证了SE教育中LLM应用的激励与阻碍因素分类体系,为构建负责任融入的综合框架奠定基础。
2025-09-05 cs.SE
Does the Tool Matter? Exploring Some Causes of Threats to Validity in Mining Software Repositories
本研究通过对比两种工具分析十个大型软件项目,发现即使简单指标也可能相差500%,差异源于细微技术细节,并总结成因以帮助避免常见陷阱,提示工具中心研究结论的效度受限。
2025-01-25 cs.SE
Should I Get Involved? On the Privacy Perils of Mining Software Repositories for Research Participants
挖掘软件存储库(MSR)是一种基于证据的方法,它将数据交叉链接,以揭示有关软件系统的可操作信息。软件工程中的实证研究经常利用MSR技术,因为它们允许研究人员揭示软件开发中的问题和缺陷,以便分析导致这些问题和缺陷的不同因素。因此,依靠关于被挖掘的存储库和源的细粒度信息(例如,服务器名称和贡献者的身份)对于MSR研究的可重复性和透明度至关重要。然而,这也可能对参与者的隐私造成威胁,因为他们的身份可能与有缺陷/次优的编程实践(例如,代码气味、不正确的文档),反之亦然。此外,这可以扩展到密切的合作者和社区成员,从而导致“因关联而有罪”。这份立场文件旨在开始讨论间接参与MSR调查,关于共享非汇总数据的“隐私与效用”的二分法,以及其对参与者参与的隐私限制和道德考虑的影响。
2022-02-24 cs.IR cs.SE
Mining Software Repair Models for Reasoning on the Search Space of Automated Program Fixing
本文通过分析软件仓库中数以千计的错误修复事务来理解错误修复的本质。然后,它将这些学习到的知识放在自动程序修复的上下文中。我们给出了大量的经验结果,在大规模和细粒度的抽象语法树差异的性质,人类的错误修复。我们建立了数学推理的搜索空间的自动修复和时间,通过应用我们的方法对14个存储库的Java软件和89,993版本事务,我们表明,并非所有的概率修复模型是等价的。
2013-11-14 cs.SE
Boidae: Your Personal Mining Platform
本文提出 Boidae,通过 Ansible 与 Docker 自动化部署用户可控的 Boa 实例,并支持从任意 Git 仓库及 GitHub、SourceForge 构建自定义挖掘数据集。
2024-01-20 cs.SE
MLmisFinder: A Specification and Detection Approach of Machine Learning Service Misuses
École de Technologie Supérieure(高等电力技术学院);Trent University(特伦特大学)
本文提出MLmisFinder,通过元模型和规则算法自动检测机器学习服务误用,验证其在107个系统中的高精度和召回率,揭示误用在数据漂移监控等领域的广泛存在。
2026-03-18 cs.SE
Insights into Software Development Approaches: Mining Q&A Repositories
本研究通过主题建模与定性分析结合的混合方法,挖掘三大问答论坛的13903篇开发者帖子,识别出15个软件开发方法高频主题、49项实践挑战及难点主题上升趋势,为从业者提供参考以提升软件质量。
2023-05-02 cs.SE
SEART Data Hub: Streamlining Large-Scale Source Code Mining and Pre-Processing
本文提出SEART Data Hub,一个简化大规模源代码挖掘与预处理的Web应用,允许研究人员通过简单界面指定挖掘和预处理条件,快速构建定制化数据集,显著降低时间和计算资源成本。
2024-09-27 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
ShikumiMiner: Mining Recurring Implementation Patterns in AI Codebases
University of Texas at Arlington(阿灵顿得克萨斯大学);Microsoft(微软)
本文提出ShikumiMiner静态分析框架,结合AST与CFG特征挖掘C++本地LLM代码库的重复实现模式,分析10个GitHub开源库并分类函数,为LLM应用开发者提供参考。
2026-09-03 cs.SE
MSR Mining Challenge: The SmartSHARK Repository Mining Data
SmartSHARK存储库挖掘数据是关于软件项目发展的丰富而详细的信息的集合。数据的多样性是独一无二的,它包含关于每个变更的详细信息、问题跟踪数据、持续集成数据以及拉取请求和代码评审数据。此外,数据不仅包含从存储库中抓取的原始数据,还包含通过人工分析和地理分析相结合确定的标签形式的注释,以及数据集不同部分之间的链接。SmartSHARK数据集提供了丰富的数据源,使我们能够探索需要不同来源数据和/或长期纵向数据的研究问题。
2021-08-04 cs.SE
Sustainability of Open-Source Machine Learning Robustness Assessment Tools: A Repository Mining Study
Jheronimus Academy of Data Science(热罗尼默斯数据科学学院);Tilburg University(蒂尔堡大学);University of Sannio(萨尼奥大学)
本研究通过挖掘GitHub上的28个开源鲁棒性工具仓库,发现其参与度与维护活动分布不均,多数仓库不活跃,呼吁将鲁棒性工具视为演进中的软件系统。
2026-08-31 cs.SE
Mining Software Repositories for Expert Recommendation
Department of Computer Science, University of Colorado Colorado Springs(计算机科学系,科罗拉多州立大学)
提出一种基于问题跟踪系统历史数据,利用BERTopic和TopicMiner技术,根据缺陷报告特征对开发者经验排序,以自动化分配缺陷并辅助人类分类员的方法,并通过Top-k准确率在Eclipse和Mozilla项目上验证其有效性。
2025-04-23 cs.AI cs.SE
RepoMiner: a Language-agnostic Python Framework to Mine Software Repositories for Defect Prediction
来自开源软件项目的数据为提高软件质量提供了宝贵的信息。在软件缺陷预测的范围内,最具挑战性的部分之一是从这些存储库中提取有关易失败软件组件的有效数据,这可以帮助开发更健壮的软件。特别是,从这些存储库中收集数据、计算度量和合成结果是一项乏味且容易出错的任务,这通常需要理解所挖掘的存储库中涉及的程序设计语言,最终导致特定于语言的数据挖掘软件的激增。本文介绍了RepoMiner,语言无关的工具,开发支持软件工程研究人员在创建数据集,以支持任何研究缺陷预测。RepoMiner自动从软件组件中收集故障数据,将其标记为易故障或中性,并计算用作缺陷预测模型基础事实的指标。我们提出了它的实现,并提供了它的应用程序的例子。
2021-11-23 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
A Framework for Using LLMs for Repository Mining Studies in Empirical Software Engineering
本研究基于两项软件仓库挖掘研究的经验,提出名为PRIMES的LLM仓库挖掘研究框架,含提示词优化检查清单与结果追踪机制,可提升相关研究的可靠性与可复现性,并指出未来需解决幻觉等挑战。
2024-12-12 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
A Curated List of Open-source Software-only Energy Efficiency Measurement Tools: A GitHub Mining Study
Federal University of Technology - Paraná (UTFPR)(巴拉那联邦技术大学);University of Southern Denmark (SDU)(南丹麦大学)
本文通过 GitHub 数据挖掘研究,梳理了开源能源效率测量工具,分析了其设计特点和演变,为软件架构设计提供参考。
2026-03-23 cs.ET cs.SE
On the Creation of Representative Samples of Software Repositories
针对软件仓库抽样常依赖随机选择或无关变量的问题,提出一种兼顾仓库总体特征与实证研究需求的代表性样本创建方法,并以 Hugging Face 仓库用例验证。
2024-10-02 cs.SE
On a Factorial Knowledge Architecture for Data Science-powered Software Engineering
鉴于科学中的数据密集型和协作趋势,软件工程社区也越来越关注从数据存储库中获得有价值和有用的见解。然而,将数据科学应用于软件工程(例如,如果缺乏合适的知识体系结构(KA),挖掘软件存储库)可能是盲目的和无意义的。通过观察软件工程实践通常通过一组因素(例如,编程器容量、不同的环境条件等)在此基础上,提出了一种基于因素的软件工程知识共享层次模型,以最大化软件资源库的价值,并对未来的软件数据驱动研究有所启发。特别是,它是有组织的因素和它们的关系,有助于指导软件工程知识挖掘,而挖掘的知识反过来将通过相关的因素和它们的相互作用索引/管理。本文阐述了我们关于阶乘KA的思想,并简要地说明了一个KA组件,即软件产品工程的早期版本KA。一旦充分的范围,这个拟议的KA将补充众所周知的SWEBOK的因素为中心的知识管理和潜在的软件工程知识的覆盖面/含义。
2021-03-02 cs.SE
An Exploration of Learning Processes as Process Maps in FLOSS Repositories
本文提出基于过程挖掘的方法,从 FLOSS 仓库的活动轨迹生成事件日志与过程图,以经验证据揭示社区学习行为。
2023-07-15 cs.CY cs.SE
Exploring the Lifecycle and Maintenance Practices of Pre-Trained Models in Open-Source Software Repositories
本文提出一项探索性研究计划,通过挖掘开源软件仓库分析预训练模型的使用、维护与测试实践,旨在为模型依赖背景下的软件工程实践提供可操作见解。
2025-04-08 cs.SE
Mining for Cost Awareness in the Infrastructure as Code Artifacts of Cloud-based Applications: an Exploratory Study
本研究通过挖掘云应用的开源仓库,实证发现开发者不仅关注部署成本,还采取多种措施降低成本,并提出了未来研究方向。
2024-04-11 cs.SE
Mining the YARA Ecosystem: From Ad-Hoc Sharing to Data-Driven Threat Intelligence
Polytechnique Montréal(蒙特利尔理工学院);Concordia University(康考迪亚大学)
研究通过分析840万条规则揭示YARA生态系统高度集中且存在运营问题,提出需从随意收集转向严格规则工程。
2026-03-15 cs.CR cs.SE
Mining Architectural Quality Under Agentic AI Adoption: A Causal Study of Java Repositories
SDU Software Engineering, University of Southern Denmark(SDU软件工程,丹麦南部大学)
通过差分差分设计和Borusyak插值估计器,研究智能体AI工具采用对Java仓库架构气味密度(ASD)的因果影响,发现ASD下降6.7%源于代码量增长,而非架构改进。
2026-06-12 cs.AI cs.SE
More Effective Software Repository Mining
背景:公共Git软件仓库的数据采掘和分析是一个不断发展的研究领域。用于调查单个项目或一组项目的研究工具已经得到改进,但不清楚在这种“方便样本”上获得的结果是否具有普遍性。目的:本文旨在阐明所面临的困难,研究人员谁想要确定他们的研究结果的普遍性,通过引入一个接口,解决了与获得代表性样本的问题。结果:为了做到这一点,我们探讨了如何利用代码系统的世界,使软件存储库的采样和分析更容易。具体来说,我们为挖掘软件库研究人员提供了一个资源,旨在简化数据采样和检索工作流程,并通过此提高数据的有效性和完整性。结论:该系统有可能为研究人员提供一个资源,大大减轻了数据检索的难度,并解决了许多目前存在的问题与数据采样。
2020-08-17 cs.SE
The Harmony Platform
根据维基百科,挖掘软件仓库(MSR)字段分析软件仓库中可用的丰富数据,如版本控制仓库,邮件列表存档,错误跟踪系统,问题跟踪系统等,以发现有关软件系统,项目和软件工程的有趣和可操作的信息。MSR领域受到了极大的关注,现在有了自己的研究会议:http://www.msrconf.org/。然而,进行MSR研究仍然是一个技术挑战。事实上,数据源(如版本控制系统或错误跟踪系统)是高度异构的。此外,对大量数据源执行研究在执行时间方面是非常昂贵的。令人惊讶的是,没有那么多的工具能够帮助研究人员在他们的MSR任务。这就是为什么我们创建了Harmony平台,作为协助研究人员进行MSR研究的一种手段。
2013-09-02 cs.SE
Quality Classifiers for Open Source Software Repositories
Athens University of Economics and Business(雅典经济与商业大学);University of Pireaus(比雷埃夫斯大学)
开源软件(OSS)通常依赖于大型存储库(如SourceForge)进行初始孵化。开放源码软件存储库提供了各种各样的元数据,提供了有关项目及其成功的有趣信息。在本文中,我们提出了一个数据采掘的方法来训练分类器的OSS元数据提供的数据存储库。分类器学习预测OSS项目的成功延续。项目的“成功性”是根据分类器的置信度来定义的,它预测这些项目可以移植到流行的OSS项目中(如FreeBSD,Gentoo Portage)。
2009-04-29 cs.AI cs.SE
Manas: Mining Software Repositories to Assist AutoML
Iowa State University(爱荷华州立大学)
如今,深度学习被广泛用于构建软件。深度学习的一个软件工程问题是,为任务找到合适的卷积神经网络(CNN)模型对开发人员来说可能是一个挑战。最近关于AutoML的工作,更准确地说是神经架构搜索(NAS),通过Auto-Keras等工具实现,旨在解决这个问题,基本上将其视为一个搜索问题,其中起点是默认的CNN模型,并且该CNN模型的突变允许探索CNN模型的空间,以找到最适合该问题的CNN模型。这些工作在产生高精度CNN模型方面取得了重大成功。然而,有两个问题。首先,NAS可能非常昂贵,通常需要几个小时才能完成。其次,NAS生成的CNN模型可能非常复杂,这使得理解它们变得更加困难,并且训练它们的成本也更高。我们提出了一种新的NAS方法,其中不是从默认的CNN模型开始,而是从GitHub提取的模型库中选择初始模型。直觉是,与默认模型相比,解决类似问题的开发人员可能已经开发了一个更好的起点。我们还分析了野外CNN模型的常见层模式,以了解开发人员为改进模型而做出的更改。我们的方法使用通常发生的变化作为NAS中的变异算子。我们扩展了Auto-Keras来实现我们的方法。我们使用Kaggle的8个投票最高的问题进行评估,包括图像分类和图像回归,结果显示,在相同的搜索时间下,在不损失准确性的情况下,Manas生成的模型比Auto-Keras的模型少42.9%到99.6%的参数。以GPU为基准,Mana…
2022-02-13 cs.LG cs.SE
A Methodology for Investigating AI Patterns Prevalence in Software Repositories
WSO2;University of Stuttgart(斯图加特大学)
提出一种通过文献挖掘识别AI模式、利用主动学习验证其在代码仓库中流行度的方法论,在14个模式类中评估了最常见模式的流行度,分类准确率达56%。
2026-07-02 cs.AI cs.SE
Mining a Decade of Event Impacts on Contributor Dynamics in Ethereum: A Longitudinal Study
该研究基于以太坊10个主要代码仓库十年数据,运用统计、生存和网络分析揭示技术事件与市场事件对开发者活动的不同影响,并为社区在重大转型中维持开发势头提供启示。
2025-02-07 cs.CY cs.SE
Do Developers Depend on Deprecated Library Versions? A Mining Study of Log4j
本研究利用 Mining Software Repositories 2025 数据集和 Goblin 框架分析超过 10,000 条日志,发现尽管 Log4j 1.x 已弃用且存在安全风险,但其使用率依然显著,且新启动的项目仍广泛采用此类已弃用库。
2025-04-04 cs.SE
Sampling Projects in GitHub for MSR Studies
几乎每一个采矿软件库(MSR)的研究需要,作为第一步,选择主题软件库。这些存储库通常从GitHub等托管服务中收集,使用由研究目标指定的特定选择标准。例如,一项与许可证有关的研究可能对选择明确声明许可证的项目感兴趣。一旦定义了选择标准,就可以使用GitHub API等实用程序来“查询”托管服务。然而,研究人员必须处理这些API的使用限制和缺乏所需信息。例如,GitHub搜索API允许每分钟30个请求,并且在搜索存储库时,仅提供有限的信息(例如,不包括存储库中的提交数量)。为了支持研究人员从GitHub中对项目进行采样,我们提出了GHS(GitHub搜索),这是一个包含25个特征的数据集(例如,提交次数、许可证等)735,669个存储库,用10种程序设计语言编写。这组特征是通过在MSR研究中寻找常用的项目选择标准得出的,数据集不断更新,以(i)始终提供有关现有项目的新数据,以及(ii)增加索引项目的数量。GHS数据集可以通过我们构建的Web应用程序进行查询,该应用程序允许设置研究所需的选择标准的许多组合,并下载匹配存储库的信息:https://seart-ghs.si.usi.ch。
2021-03-08 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
Analyzing the Evolution and Maintenance of Quantum Software Repositories
本研究通过挖掘GitHub上2.1万余个量子软件仓库的120万次提交,分析其演化与维护特征,揭示了增长趋势、提交类型分布及量子特有问题占比,为量子软件工程实践改进提供实证依据并开源数据集。
2025-06-06 cs.SE
Mining Type Constructs Using Patterns in AI-Generated Code
University of Alberta(阿尔伯塔大学)
研究AI在类型构造任务中的表现,发现AI更易误用any关键字及高级类型构造,但其PR接受率高于人类。
2026-04-22 cs.SE
Coming: a Tool for Mining Change Pattern Instances from Git Commits
像Git这样的软件存储库已经成为软件工程研究人员的相关信息来源。例如,检测满足给定标准的提交(例如,bug修复提交)是理解软件演化最常见的任务之一。然而,据我们所知,没有开源工具,给定Git存储库,返回给定更改模式的所有实例。在本文中,我们介绍了Coming,这是一个工具,它可以输入Git存储库,并在每次提交时挖掘更改模式的实例。为此,Coming计算两个连续修订之间的细粒度更改,分析这些更改以检测它们是否对应于更改模式的实例(由用户使用XML指定),最后,在分析所有提交后,它提供a)代码更改的频率和b)在每个提交中找到的实例。我们评估了一组28对来自Defects4J的修订,发现其中26个涉及If条件的更改模式的实例。
2018-10-19 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
Empirical Standards for Repository Mining
学术同行评议的目的是评估科学手稿的质量。然而,一项又一项研究表明,同行评议既不能有效地评估研究质量,也不能可靠地评估研究质量。经验标准试图通过模拟科学界对在该社区进行的每一种经验研究的期望来解决这个问题。这不仅会提高研究质量,而且会提高同行评审的可靠性和可预测性,因为科学家在其研究者和评审者的角色中都采用了这些标准。然而,这些改进取决于标准的质量和采用情况。因此,本教程将介绍挖掘软件存储库的经验标准,以传达其内容并从与会者那里获得反馈。本教程将分为三个部分:(1)经验标准项目的简要概述;(2)储存库开采标准的详细介绍;(3)讨论和改进建议。
2022-03-29 cs.DL cs.SE
What's Inside a GitHub Repository? An Empirical Study on the Contents of 10K Projects
DCC, UFMG(联邦米纳斯吉拉斯大学计算机系);REALISE Lab, Concordia University(康科迪亚大学)
本文通过分析10000个GitHub仓库的文件和目录,揭示了过去十年仓库内容的变化,包括README.md标准化、GitHub Actions兴起、配置格式演变及生成式AI相关内容的增长。
2026-07-15 cs.SE
An Annotated Dataset of Stack Overflow Post Edits
为了改进软件工程,已经挖掘软件存储库以获得代码片段和错误修复。通常,这种挖掘发生在文件或提交级别。为了能够更深入地挖掘并以更高的分辨率提取见解,我们在此提供了一个带注释的数据集,其中包含Stack Overflow上超过700万次的代码和文本编辑。我们的初步研究表明,这些编辑可能是挖掘细粒度补丁信息的宝库,例如,用于优化非功能特性。
2020-05-06 cs.NE cs.SE
Inter-Package Dependency Networks in Open-Source Software
本研究分析了开源软件中包间层次的复杂网络,其中包依赖关系通常跨越项目和开发团队。我们审查复杂的网络确定在“较低”的抽象层次,然后制定一个描述的软件组件的相互作用在包的水平,一个相对“高”的抽象层次。通过从两个来源挖掘开源软件存储库,我们经验性地表明,在这种粒度下的模块耦合在这两种情况下都创建了一个小世界和无标度网络。
2004-11-29 cs.SE
Mining Reviews in Open Source Code for Developers Trail: A Process Mining Approach
本文提出使用过程挖掘方法利用开源代码库数据构建日志并生成工作流网,以图形化描绘开发者活动顺序,并通过 Act-Trace 算法展示该方法。
2023-07-16 cs.IR 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
Chaos Engineering in the Wild: Findings from GitHub
Jheronimus Academy of Data Science(杰罗尼穆斯数据科学学院);Tilburg University(蒂尔堡大学);University of Sannio(萨尼奥大学);University of Salerno(萨莱诺大学)
本研究通过大规模挖掘GitHub仓库,揭示了混沌工程工具在开源项目中的采用集中于少数工具,网络故障和实例终止占主导,为工具选择和未来研究提供了实证依据。
2026-09-22 cs.SE