A Proposal for the Measurement and Documentation of Research Software Sustainability in Interactive Metadata Repositories
本文提出了一种交互式的存储库类型的研究软件元数据的措施和文件的软件可持续性积累元数据,并计算可持续性指标。这样一个储存库将有助于克服软件可持续性的技术障碍,促进发现和确定可持续的软件,从而也便利在软件管理计划的框架内记录研究软件。
2016-08-17 cs.CY cs.SE
On the Creation of Representative Samples of Software Repositories
针对软件仓库抽样常依赖随机选择或无关变量的问题,提出一种兼顾仓库总体特征与实证研究需求的代表性样本创建方法,并以 Hugging Face 仓库用例验证。
2024-10-02 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
Relationship Maintenance in Software Language Repositories
这项研究的背景是测试和构建软件系统,特别是软件语言库(SLR),即,包含语言处理组件的存储库(解释器、翻译器、分析器、Transformers、漂亮的打印机等)。SLR通常用于开发和使用元编程系统、语言工作台、语言定义框架、可执行语义框架和建模框架。这项工作是调查测试和建设SLR的方式,仓库被视为一个集合的语言类型的工件被相关的应用程序的语言类型的功能或关系,服务于语言处理。语言的概念在广义上被用来包括基于文本、树、图的语言以及基于交换格式的表示和用于序列化的专有格式。这项研究的总体方法是由一个复杂的案例研究驱动的语言设计,即,一个特定的SLR具有大量的处理语言和语言处理器,以及在表示类型和实现语言方面值得注意的异质性。通过我们的研究所获得的知识是最好的理解为一个声明性的语言设计的回归测试和构建管理,我们介绍了相应的语言Ueber与可执行的语义,保持语言类型的工件之间的关系在SLR。研究报告的基础是全面的、正式的、可执行的Ueber语言的(基于逻辑编程的)定义及其在SLR YAS管理中的系统应用,该管理由数百种语言定义和处理组件组成(如解释器和转换)超过30种语言(不包括不同的表示类型),Prolog,Haskell,Java和Python被用作实现语言。这项工作的重要性源于回归测试和构建管理所隐含的巨大成本,以及SLR的复杂性,这需要帮助理解的方法。
2017-01-27 cs.PL cs.SE
Git-Assistant: Planning-Based Support for Updating Git Repositories
AI Research, JPMorganChase(人工智能研究,摩根大通)
研究针对git工具对开发者有挑战的问题,提出结合大语言模型与自动规划的Git-Assistant,经合成和随机git环境评估,证明该方法能提升仓库管理可靠性、减少错误,展现混合人工智能方法在开发者辅助上的潜力。
2026-09-21 cs.AI cs.CL cs.SE
Empirical Study on the Software Engineering Practices in Open Source ML Package Repositories
York University(约克大学);École Polytechnique de Montréal(蒙特利尔高等理工学院);Queen’s University(皇后大学)
人工智能(AI),特别是机器学习(ML)的最新进展已经引入了各种实际应用(例如,虚拟个人助理和自动驾驶汽车),增强日常用户的体验。然而,像深度学习这样的现代机器学习技术需要大量的技术专业知识和资源来开发、训练和部署这些模型,这使得有效地重用机器学习模型成为必要。实践者和研究人员的这种发现和重用正在由公共ML包存储库解决,该存储库将预先训练的模型捆绑到包中以供发布。由于这类储存库是最近才出现的现象,因此没有关于其现状和挑战的经验数据。因此,本文进行了一项探索性研究,分析了两个流行的ML包存储库TFHub和PyTorch Hub的结构和内容,比较了它们的信息元素(功能和策略),包组织,包管理器功能和使用上下文与流行的软件包存储库(npm,PyPI和CRAN)。通过这些研究,我们确定了共享ML包的独特SE实践和挑战。这些发现和影响对于打算使用这些共享ML包的数据科学家,研究人员和软件开发人员来说非常有用。
2020-12-08 cs.AI cs.SE
On a Factorial Knowledge Architecture for Data Science-powered Software Engineering
鉴于科学中的数据密集型和协作趋势,软件工程社区也越来越关注从数据存储库中获得有价值和有用的见解。然而,将数据科学应用于软件工程(例如,如果缺乏合适的知识体系结构(KA),挖掘软件存储库)可能是盲目的和无意义的。通过观察软件工程实践通常通过一组因素(例如,编程器容量、不同的环境条件等)在此基础上,提出了一种基于因素的软件工程知识共享层次模型,以最大化软件资源库的价值,并对未来的软件数据驱动研究有所启发。特别是,它是有组织的因素和它们的关系,有助于指导软件工程知识挖掘,而挖掘的知识反过来将通过相关的因素和它们的相互作用索引/管理。本文阐述了我们关于阶乘KA的思想,并简要地说明了一个KA组件,即软件产品工程的早期版本KA。一旦充分的范围,这个拟议的KA将补充众所周知的SWEBOK的因素为中心的知识管理和潜在的软件工程知识的覆盖面/含义。
2021-03-02 cs.SE
Identifying Coordination Problems in Software Development: Finding Mismatches between Software and Project Team Structures
当今的动态迭代开发环境给软件项目管理带来了巨大的挑战。在分布式项目环境中,“四处走动的管理”不再是一种选择,项目经理可能会错过关键的项目见解。TESNA(技术社会网络分析)方法和工具旨在为项目经理提供一种获得洞察力和采取纠正措施的方法和工具。TESNA通过分析项目不断发展的社交和技术网络结构来实现这一目标,这些网络结构使用来自多个来源的数据,包括CVS、电子邮件和聊天存储库。使用模式理论,TESNA有助于识别项目的社会和技术网络的当前状态与模式建议相冲突的领域。我们把这种冲突称为社会技术结构冲突(STSC)。在本文中,我们报告我们的经验,使用TESNA确定STSC在企业环境中,通过挖掘软件存储库。我们发现多个实例的三个STSC(康威的法律,代码所有权和项目协调)在许多正在进行的开发项目,从而验证我们已经开发的方法和工具。
2012-01-19 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
An Empirical Study of Dotfiles Repositories Containing User-Specific Configuration Files
本文对GitHub上的dotfiles仓库进行了实证研究,发现其维护在开发者中普遍存在,更新主要由调整配置和项目元管理驱动,并讨论了其部署挑战及对工具设计的启示。
2025-01-30 cs.SE cs.SI
Prompting in the Wild: An Empirical Study of Prompt Evolution in Software Repositories
本文通过分析243个GitHub仓库中的1,262项提示变更,首次实证研究提示演化模式、文档与系统影响,并指出需专门测试、验证和文档工具。
2025-01-12 cs.SE
Power laws in code repositories: A skeptical approach
使用现代方法和源代码控制管理系统进行的软件开发往往被确立为自我组织的一个例子,代码通过不源于中央权力、领导或指令的活动有机地增长和发展。证明这些主张的主要挑战是,自组织不能通过直接观察来检测,而是通过对系统的测量,寻找一些线索,如幂律在某些特征上的存在,如随时间变化的大小。我们打算在本文中解决的问题是建立一种方法来检查,对于我们过去已经测量过的一组选定的存储库,如果从精确的数学角度来看,关于幂律的说法实际上成立,因为,尽管在软件工程文献(和其他文献)中普遍存在,幂律比乍一看更难以捉摸。出于这个原因,在本文中,我们提出了一组统计上准确的测试,这些测试将帮助我们从存储库的变化方式中确定它们是否真的是按照幂律分布的,这可能表明我们存在通过自组织达到的状态,或者实际上,幂律如何准确地适应16个开源存储库的git存储库中提交变化大小的分布。我们重新审视了这些观察中最具代表性的论文之一,重新评估其结果,并将其与其中分析的储存库的现状进行比较,试图阐明幂律是否可能存在任何变化。
2019-05-27 cs.SE cs.SI nlin.AO
CatIss: An Intelligent Tool for Categorizing Issues Reports using Transformers
Delft University of Technology(代尔夫特理工大学)
用户使用问题跟踪系统来跟踪和管理其存储库中的问题报告。问题是软件信息的丰富来源,包含不同的报告,包括问题、新功能请求或仅仅是关于软件产品的问题。随着这些问题数量的增加,手动管理它们变得越来越困难。因此,提出了自动方法来帮助促进问题报告的管理。本文介绍了CatIss,一个自动CATegorizer的ISSue报告,这是建立在基于transformer的预训练的RoberTa模型。CatIss将问题报告分为三个主要类别:Bug报告、增强/功能请求和问题。首先,为NLBSE工具竞赛提供的数据集被清理和预处理。然后,预训练的RoBERTa模型在预处理的数据集上进行微调。在GitHub上对CatIss的大约8万份问题报告进行评估,表明它的表现非常好,超过了竞争基线TicketTagger,并达到了87.2%的F1分数(微平均)。此外,由于CatIss是在广泛的存储库上训练的,因此它是一个通用的预测模型,因此适用于任何看不见的软件项目或几乎没有历史数据的项目。用于清理数据集、训练CatIss和评估模型的工具是公开的。
2022-03-31 cs.CL cs.LG cs.SE
A Static Analysis Platform for Investigating Security Trends in Repositories
提出一个集成多种静态分析工具的分析平台,支持基于Git的代码仓库跨版本历史持续监控警告,并通过仪表板展示安全趋势与热点,同时可生成适用于机器学习的大规模安全警报数据库。
2023-04-04 cs.SE
Analyzing developer discussions on EU and US privacy legislation compliance in GitHub repositories
University of Cyprus(塞浦路斯大学);Singapore Management University(新加坡管理大学)
借助GitHub仓库中开发者问题数据,通过挖掘分析32820个问题(部分自动、部分手动),探究开源软件开发者为遵守隐私立法所讨论的问题,构建分类法助从业者、教育界和研究界应对隐私合规。
2026-07-07 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
Individual Differences Limit Predicting Well-being and Productivity Using Software Repositories: A Longitudinal Industrial Study
针对软件开发者幸福感与生产力预测难题,通过工业团队纵向研究发现个体差异是主要影响因素,个性化预测模型效果更优,为相关管理与研究提供参考。
2021-04-28 cs.SE
Identity-Based Signing Shifts, Not Solves, Usability: Evidence from Five Identity-Based Signing Ecosystems
Purdue University(普渡大学)
研究分析了五个开源身份签名生态系统中用户界面问题的演变,发现验证流程和配置界面仍是主要摩擦点,尽管多数系统问题呈下降趋势。
2026-10-12 cs.CR cs.SE
Insights into Software Development Approaches: Mining Q&A Repositories
本研究通过主题建模与定性分析结合的混合方法,挖掘三大问答论坛的13903篇开发者帖子,识别出15个软件开发方法高频主题、49项实践挑战及难点主题上升趋势,为从业者提供参考以提升软件质量。
2023-05-02 cs.SE
Good Tools are Half the Work: Tool Usage in Deep Learning Projects
Athens University of Economics and Business(雅典经济与商业大学);Delft University of Technology(代尔夫特理工大学)
本研究通过挖掘GitHub仓库,发现约63%的深度学习项目采用传统软件工程工具,而MLOps工具使用较少,表明传统工具在DL开发中的重要性,并建议加强MLOps工具的研究与推广。
2024-05-28 cs.LG 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
Exploring Scientific Debt: Harnessing AI for SATD Identification in Scientific Software
本研究利用AI识别科学软件中的SATD,发现其比通用软件具有更高的债务水平,并揭示了管理SATD对科学发现的重要性。
2025-11-21 cs.SE
Mining a Decade of Event Impacts on Contributor Dynamics in Ethereum: A Longitudinal Study
该研究基于以太坊10个主要代码仓库十年数据,运用统计、生存和网络分析揭示技术事件与市场事件对开发者活动的不同影响,并为社区在重大转型中维持开发势头提供启示。
2025-02-07 cs.CY cs.SE
How Do Software Developers Use GitHub Actions to Automate Their Workflows?
本文首次实证研究开发者对 GitHub Actions 的使用及其影响,发现采用者评价积极,但该技术会增加月度拒绝 PR 数并减少已合并 PR 的月度提交数。
2021-03-22 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
GIRT-Model: Automated Generation of Issue Report Templates
Sharif University of Technology(谢里夫理工大学);Ludwig Maximilian University(路德维希-马克西米利安大学);Bowling Green State University(鲍灵格林州立大学)
GIRT-Model是一个基于指令微调T5-base的辅助语言模型,能根据开发者指令自动生成问题报告模板,在ROUGE、BLEU、METEOR和人工评估中优于通用模型,并获用户认可。
2024-02-08 cs.CL cs.SE
A Systematic Review of FAIR-compliant Big Data Software Reference Architectures
本文系统综述了FAIR合规大数据软件参考架构的研究,分析了323篇文献,识别出7项通用SRA研究、13个FAIR实施流水线及3个FAIR合规大数据SRAs,评估其特性并指出未来研究机会。
2025-09-17 cs.DB cs.SE
Mining Reviews in Open Source Code for Developers Trail: A Process Mining Approach
本文提出使用过程挖掘方法利用开源代码库数据构建日志并生成工作流网,以图形化描绘开发者活动顺序,并通过 Act-Trace 算法展示该方法。
2023-07-16 cs.IR cs.SE
Using Large-scale Heterogeneous Graph Representation Learning for Code Review Recommendations at Microsoft
The University of Texas at Austin(德克萨斯大学奥斯汀分校);Microsoft Research(微软研究院);Microsoft(微软公司);Delft University of Technology(代尔夫特理工大学)
代码评审是任何成熟软件开发过程的一个组成部分,并且在软件工程社区中,识别代码变更的最佳评审员是一个公认的问题。选择缺乏专业知识和理解的评审者可能会减慢开发速度或导致更多缺陷。迄今为止,大多数评审员推荐系统主要依赖于历史文件更改和评审信息;过去更改或评审文件的人最适合在未来进行评审。我们认为,虽然这些方法能够识别和建议合格的评审员,他们可能是盲目的评审员谁拥有所需的专业知识,只是从来没有与更改的文件之前。幸运的是,在Microsoft,我们在许多存储库中拥有大量的工作工件,这些工件可以产生关于我们开发人员的有价值的信息。为了解决上述问题,我们提出了CORAL,这是一种新颖的评审推荐方法,它利用了从丰富的实体集(开发人员,存储库,文件,拉取请求(PR),工作项等)构建的社会技术图。以及它们在现代源代码管理系统中的关系。我们在这个图上使用了一个图卷积神经网络,并在微软332个存储库上对它进行了两年半的训练。我们表明,CORAL能够很好地模拟审稿人选择的手动历史。此外,广泛的用户研究的基础上,我们证明了这种方法确定相关的和合格的审查传统的审查者错过,这些开发人员希望被列入审查过程中。最后,我们发现,“经典”的评审员推荐系统在较小的(就开发人员而言)软件项目上表现更好,而CORAL在较大的项目上表现出色,这表明“没有一个模型可以统治它们。"
2023-02-02 cs.AI 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