Cherry-Picking of Code Commits in Long-Running, Multi-release Software
本文介绍了Tartarian,一个工具,支持维护软件的长期运行,多发布分支的分布式版本控制系统。当新的维护代码(如错误修复和代码改进)提交到分支中时,这些代码可能会应用于其他分支或与其他分支重用。要做到这一点,开发人员可以手动识别一个提交并进行挑选。Tartarian可以通过提供提交主题标签来支持此活动,开发人员在提交代码时将其用作元数据来指定他们的意图。有了这些标签,Tartarian使用依赖关系图(dependency graph)和分支标识符(Branch Identifier)来识别提交的适用分支,依赖关系图表示分支的依赖关系约束,分支标识符将提交主题标签与依赖关系图匹配。使用Tartarian,开发人员可以更有效地维护多个版本的软件。
2017-08-08 cs.SE
Evolution of repositories and privacy laws: commit activities in the GDPR and CCPA era
University of Cyprus(塞浦路斯大学)
研究分析了GDPR和CCPA时代软件仓库的提交活动,发现隐私相关术语在提交信息中出现,但对用户权利的引用较少,提出需加强隐私教育和工具开发。
2025-05-28 cs.SE
The Corrective Commit Probability Code Quality Metric
The Hebrew University of Jerusalem(耶路撒冷希伯来大学)
我们提出了一个代码质量度量,纠正提交概率(CCP),测量的概率,提交反映纠正性维护。我们表明,这个指标符合开发人员的质量,信息和稳定的概念。通过将语言模型应用于提交消息来识别纠正提交。通过将语言模型应用于提交消息来识别纠正提交。我们计算了所有大型活跃GitHub项目的CCP(2019年至少有200个提交的7,557个项目)。这导致了一个质量等级的创建,表明质量最低的10%的项目在修复bug上花费的精力至少是前10%的6倍。对项目属性的分析表明,较低的CCP(较高的质量)与较小的文件,较低的耦合,使用JavaScript和C#等语言而不是PHP和C++,更少的开发人员,更低的开发人员流失,更好的入门和更高的生产力有关。除其他外,这些结果支持“质量是免费的”的说法,并建议实现更高的质量不需要更高的费用。
2020-07-21 cs.LG 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
Analyzing the Evolution and Maintenance of Quantum Software Repositories
本研究通过挖掘GitHub上2.1万余个量子软件仓库的120万次提交,分析其演化与维护特征,揭示了增长趋势、提交类型分布及量子特有问题占比,为量子软件工程实践改进提供实证依据并开源数据集。
2025-06-06 cs.SE
MaintainoMATE: A GitHub App for Intelligent Automation of Maintenance Activities
North Dakota State University(北达科他州立大学)
本文提出GitHub应用MaintainoMATE,利用BERT自动分类和分配问题报告,F1分数分别达80%和54%,可提升软件质量并降低维护成本。
2023-08-31 cs.AI cs.SE
Modeling Dependency-Propagated Ecosystem Impact of Changes in Maintenance Activities: Evaluating Support Strategies in the PyPI Network
fortiss GmbH(fortiss有限公司);Technical University of Munich(慕尼黑工业大学)
本文提出一种考虑依赖关系的生态系统影响模型,通过PyPI生态系统分析维护活动变化对整体状态的影响,并基于此优先支持包,对比现有支持机制和PageRank基准。
2026-08-18 cs.SE
Leveraging Structural Properties of Source Code Graphs for Just-In-Time Bug Prediction
University of Saskatchewan(萨斯喀彻温大学)
数据可视化最常见的用途是最大限度地减少正确理解的复杂性。图是理解关系数据最常用的表示之一。它产生了一种简化的数据表示,如果以文本格式保存,则很难理解。在这项研究中,我们提出了一种方法来利用源代码的关系属性的形式的图形,以确定在不同版本的软件演化和维护的软件系统中的即时(JIT)错误预测。提出了一种将提交补丁的源代码转换为等价图表示的方法,并将其命名为源代码图(SCG)。为了理解和比较多个源代码图,我们提取了这些图的几个结构属性,如密度,周期数,节点,边缘等,然后我们利用这些SCG的属性值来可视化和检测错误的软件提交。我们处理超过246K的软件提交从12个主题系统在本次调查中。我们对这12个用C++和Java程序设计语言编写的开源软件项目的调查表明,如果我们将SCG的特征与类似研究中使用的传统特征相结合,我们将获得基于机器学习(ML)的错误提交检测模型的性能提高。使用Wilcoxon符号秩检验,我们还发现在预测有缺陷和无缺陷提交时F1分数的增加具有统计学显著性。由于基于SCG的特征值代表了软件系统中源代码更新或更改的风格或结构属性,因此它表明了仔细维护源代码风格或结构以保持软件系统无错误的重要性。
2022-01-25 cs.LG cs.SE
How do Machine Learning Models Change?
Department of Mathematics(数学系);CDTIME, University of Almería(CDTIME,阿尔梅里亚大学);Singapore Management University(新加坡管理大学)
本文通过对 Hugging Face 上 10 万个模型的海量提交与发布数据进行纵向挖掘,揭示模型演化遵循 CRISP-DM 等迭代精化模式,并发现流行度与协作强度不同的项目具有差异化演化路径,为模型维护提供实践指导。
2025-11-10 cs.LG cs.SE
Runnable Commit Untangling for Coding Agents
Korea University(韩国大学);University of Waterloo(滑铁卢大学);University of Alberta(阿尔伯塔大学);Alberta Machine Intelligence Institute (Amii)(阿尔伯塔机器智能研究所)
本文针对编码智能体生成的混乱提交补丁,提出保持代码可运行的RucTangle解缠方法与TangleEval评估框架,实验显示RucTangle可提升智能体修复退化的pass@1指标,证明软件工程实践在智能体时代的价值。
2026-10-09 cs.AI cs.SE
What really changes when developers intend to improve their source code: a commit-level study of static metric value and static analysis warning changes
许多软件度量被设计用来度量那些被认为与软件质量相关的方面。静态软件度量,例如,规模、复杂性和耦合性被用于缺陷预测研究以及软件质量模型来评估软件质量。虽然这表明了质量和软件度量之间的关系,但它的程度还没有得到很好的理解。此外,最近的研究发现,复杂性度量可能是源代码可理解性的不可靠指标。为了探索这种关系,我们利用开发人员的意图,即什么构成了他们自己代码库的质量改进。我们通过检查提交消息,将来自54个Java开源项目的2,533个提交的随机样本手动分类为质量改进,这取决于开发人员的意图。我们通过预定义的指导方针区分完美和纠正性维护,并将这些数据用作基础事实,用于微调自然语言处理的最先进的深度学习模型。我们使用该模型将数据集增加到125,482次提交。基于由此产生的数据集,我们调查的差异大小和14静态源代码指标之间的变化,提高质量,由开发人员表示,和其他变化。我们发现,质量改善提交比其他提交更小。完美的更改对静态源代码指标有积极的影响,而纠正性更改则倾向于增加复杂性。此外,我们发现,文件的目标是完善的维护已经有一个较低的中位数比其他文件的复杂性。我们的研究结果提供了经验证据,静态源代码度量捕获质量改进从开发人员的角度来看。这对程序理解以及代码气味检测和推荐系统都有影响。
2022-05-30 cs.SE
On the Relevance of Cross-project Learning with Nearest Neighbours for Commit Message Generation
提交消息在软件维护和演化中起着重要的作用。尽管如此,开发人员通常不会产生高质量的消息。近年来已经提出了许多提交消息生成方法来解决这个问题。这些方法中的一些基于神经机器翻译(NMT)技术。研究表明,最近邻算法(NNGen)优于现有的基于NMT的方法,虽然NNGen比NMT更简单,更快。在本文中,我们表明,NNGen不利用跨项目学习的大多数情况下。我们还表明,现有的NNGen方法有一个更简单,更快的变化,在BLEU_4评分方面优于它,而不使用跨项目学习。
2020-10-05 cs.SE
Improving the Quality of Commit Messages in Students' Projects
针对学生项目提交消息质量低的问题,研究通过修改GitHub Desktop应用加入提交消息需含“做什么”“为什么”的要求,实验证实该方式可从信息含量、清晰度和长度三方面提升提交消息质量。
2023-04-27 cs.SE
An Empirical Study of Token-based Micro Commits
本研究针对现有小型变更定义丢失行内token信息的局限,提出基于变更token的微提交概念,通过四个OSS项目实证其特征,并提出用token级信息支撑相关软件工程方法。
2024-05-15 cs.SE
CoDocBench: A Dataset for Code-Documentation Alignment in Software Maintenance
University of California, Davis(加州大学戴维斯分校)
本文提出CoDocBench数据集,从高质量GitHub项目中挖掘代码与文档同步变更的提交,用于训练和评估软件维护中的代码变更理解与生成任务,并发现现有大模型在这些任务上仍面临挑战。
2025-02-04 cs.LG cs.SE
An Activity-Based Quality Model for Maintainability
可维护性是成功软件系统的一个关键质量属性。然而,在实践中,其管理仍然存在问题。目前,还没有评估和改进软件系统可维护性的全面基础。质量模型已经被提出来解决这个问题。然而,现有的方法没有明确考虑到维护活动,这在很大程度上决定了软件维护工作。本文提出了一个二维模型的可维护性,明确关联的系统属性进行维护过程中的活动。活动和属性的分离便于识别声音质量标准,并允许对它们的相互依赖性进行推理。这将质量模型转换为可用于工业项目环境的结构化和全面的质量知识库。该模型基于一个明确的质量元模型,该元模型支持其系统化构建,并促进精确性和完整性。一个工业案例研究表明,该模型的可维护性评估的Matlab Simulink模型,经常使用的嵌入式系统的基于模型的开发的适用性。
2017-07-26 cs.SE
Who Maintains Agent Skills? A Longitudinal Study of Human-Governed, AI-Assisted Skill Maintenance
Megagon Labs
本研究通过挖掘五个公共AI技能仓库的873次提交,揭示技能维护是人类主导、AI辅助的循环,而非自主流水线,并发布了语料库和编码手册。
2026-09-09 cs.AI cs.CL cs.HC
An Adaptive E-Learning System Using Justification Based Truth Maintenance System
在大多数E学习系统中,教育活动是以静态的方式呈现的,而不考虑学生的具体水平和技能。一个E学习管理系统的个性化和适应性依赖于系统的灵活性,根据学生的特点提供不同的学习和内容模型。在本文中,我们提出了一个自适应E学习系统,这是提供适应性的支持理由为基础的真理维护系统。该系统的实现是根据学生的个人资料、兴趣和以往的学习成绩,为学生提供合适的知识填充和定制的学习路径。提出的框架进行验证的Meta模型。
2021-07-11 cs.SE
Toward the Automatic Classification of Self-Affirmed Refactoring
Rochester Institute of Technology(罗切斯特理工学院);ETS Montreal, University of Quebec(魁北克大学蒙特利尔工程技术学院)
自我确认重构(SAR)的概念被引入来探索开发人员如何在提交消息中记录他们的重构活动,即,开发人员在代码更改期间有意引入的重构操作的显式文档。在我们之前的研究中,我们已经手动识别了重构模式,并定义了三个主要的常见质量改进类别,包括内部质量属性,外部质量属性和代码气味,只考虑重构相关的提交。然而,这种方法严重依赖于提交消息的手动检查。在本文中,我们提出了一个两步的方法,首先确定一个提交是否描述了开发人员相关的重构事件,然后根据重构常见的质量改进类别进行分类。具体来说,我们结合了N-Gram TF-IDF特征选择与二进制和多类分类器,建立一个新的模型来自动分类的重构的基础上,他们的质量改进类别。我们使用从精心设计的开源Java项目中提取的总共2,867条提交消息来挑战我们的模型。我们的研究结果表明,(1)我们的模型能够准确地分类SAR提交,优于基于模式和随机分类器的方法,并允许发现40个更相关的SAR模式,(2)即使使用相对较小的训练数据集,我们的模型也达到了高达90%的F-测量。
2020-09-19 cs.LG cs.SE
Context Conquers Parameters: Outperforming Proprietary LLM in Commit Message Generation
本文研究开源 LLM 能否替代 GPT-4 生成高质量提交信息,并提出基于 4 位量化 8B 开源模型的 OMEGA 方法,通过上下文细化在从业者偏好上超越 GPT-4。
2024-11-01 cs.SE
Characterizing and Understanding Software Developer Networks in Security Development
为了构建安全的软件,开发人员通常在软件开发和维护期间一起工作,以查找、修复和防止安全漏洞。检查开发人员在其安全活动期间关于安全引入和修复活动的交互的性质可以为改进当前实践提供见解。在这项工作中,我们进行了一个大规模的实证研究,以表征和理解开发人员在安全活动中的安全引入和修复的互动,其中涉及超过16 K的安全修复提交和超过28 K的安全引入提交从9个大型开源软件项目。对于我们的分析,我们首先检查一个项目是否是一个英雄为中心的项目时,评估开发人员在他们的安全活动的贡献。然后,我们研究开发人员之间的交互模式,探索模式的分布如何随着时间的推移而变化,并研究开发人员的交互对项目质量的影响。此外,我们还将安全活动中的开发人员交互的性质与非安全活动中的开发人员交互进行了比较(即,引入和修复非安全性错误)。在我们的研究结果中,我们发现:大多数的实验项目是非英雄为中心的项目时,通过使用他们的安全活动来评估开发人员的贡献;存在共同的主导交互模式在我们的实验项目;交互模式的分布与软件项目的质量相关。我们相信,从这项研究的结果可以帮助开发人员了解如何产生和修复的软件开发人员的交互下的可扩展性。
2019-07-28 cs.SE cs.SI
Context-Encoded Code Change Representation for Automated Commit Message Generation
本文提出一种结合变更代码及其程序依赖的未变更代码的上下文编码表示方法,克服了现有代码变更表示的局限,显著提升了5种最先进自动化提交信息生成方法的性能。
2023-06-26 cs.SE
RAG-Enhanced Commit Message Generation
本文提出REACT框架,通过混合检索器检索代码差异与提交信息示例,结合微调与上下文学习增强PLMs和LLMs的提交信息生成性能,显著超越基线。
2024-10-03 cs.SE
Build Code Needs Maintenance Too: A Study on Refactoring and Technical Debt in Build Systems
本文研究了开源项目中构建脚本的重构及其对技术债务的解决情况,提出了首个构建系统重构分类法,并开发了基于GPT-4o的自动化检测工具BuildRefMiner。
2025-04-02 cs.SE
Contextual Code Retrieval for Commit Message Generation: A Preliminary Study
本文提出 C3Gen,通过从仓库检索提交相关代码片段补充 diff 上下文,提升多模型提交信息生成质量,并结合主客观与人工评估验证其效果。
2025-07-23 cs.SE
On the Adoption and Effects of Source Code Reuse on Defect Proneness and Maintenance Effort
上下文软件复用机制,如面向对象编程中的继承和委托,被广泛认为是软件设计的关键工具。这些用于降低源代码受缺陷影响的风险,而不是减少维护和改进源代码所需的工作量。以前的工作传统上采用源代码重用度量用于预测目的,例如,在缺陷预测的上下文中。objective.然而,我们的研究发现了当前文献的两个明显的局限性。首先,开发人员随着时间的推移实际使用代码重用机制的程度仍然知之甚少。其次,目前还不清楚这些机制如何有助于解释缺陷倾向和维护工作在软件演化。我们的目标是弥合这一知识差距,因为对这些方面的更好理解可能有助于深入了解这些机制提供的实际支持,例如,通过建议是否以及如何将它们用于预测目的。法我们提出了一个探索性的研究,旨在(1)评估开发人员如何使用继承和委托在软件演化过程中;(2)统计分析继承和委托的故障倾向和维护工作的影响。该研究将在DEFECTS4J数据集的17个Java项目的提交上进行。
2022-08-15 cs.SE
An Empirical Study on Commit Message Generation using LLMs via In-Context Learning
本研究通过实证方法探索利用大语言模型和上下文学习生成提交信息,验证其优于现有方法并具备更强泛化能力,为相关研究提供方向。
2025-02-26 cs.SE
18 Million Links in Commit Messages: Purpose, Evolution, and Decay
本文大规模研究了23110个GitHub仓库提交中1820万条链接,发现链接引用普遍但易衰减,70%的不同链接遭受衰减,与代码中链接命运相同。
2023-05-26 cs.SE
KG-Commit: A Dynamic Knowledge Graph for Online Just-in-Time Software Defect Prediction
Sharif University of Technology(谢里夫理工大学)
针对在线即时缺陷预测忽略项目上下文的问题,提出动态知识图谱KG-Commit,增量维护仓库与代码结构,在11个Apache项目上以CPU推理取得最优Macro-F1、G-Mean和AUC,且延迟稳定。
2026-09-11 cs.SE
Detecting Multiple Semantic Concerns in Tangled Code Commits
School of Computer Science, University of Sheffield(谢菲尔德大学计算机学院)
本文提出利用 SLMs 检测 tangled 提交中的多关注点,通过实验证明提交信息显著提升检测准确率。
2026-09-04 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
Unveiling Elite Developers' Activities in Open Source Projects
开源开发者,特别是精英开发者,维护着各种各样的贡献活动。他们不仅提交源代码,还在其他沟通、组织和支持活动上花费大量精力。然而,几乎所有的研究都集中在有限的特定活动上,未能全面分析精英开发人员的活动。为了弥补这一差距,我们对GitHub上托管的20个大型开源项目的细粒度事件数据进行了实证研究。因此,我们调查了精英开发人员的贡献活动及其对项目成果的影响。我们的分析揭示了三个关键发现:(1)他们参与各种活动,而技术贡献(例如,(2)随着项目的发展,他们倾向于将更多的精力投入到支持性和沟通性活动中,而较少的精力投入到编码中;(3)他们参与非技术性活动的程度与项目的生产力和软件质量呈负相关。这些结果提供了精英开发人员活动的全景,并可以为个人关于努力分配的决策提供信息,从而导致更好的项目成果。研究结果也为支持这些精英开发人员提供了启示。
2019-11-13 cs.SE
Refactoring-aware Block Tracking in Commit History
提出重构感知工具 CodeTracker 追踪代码块提交历史,通过 1,280 个代码块基准测试,证明其准确率与执行效率均优于 GumTree 3.0 基线。
2024-09-24 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
A Longitudinal Study of Dependency Reclassifications in JavaScript Projects
KTH Royal Institute of Technology(皇家理工学院);Université de Montréal(蒙特利尔大学)
本研究探讨JavaScript项目中开发者如何随时间重新分类依赖,发现79.1%的项目存在依赖重新分类,其中97.2%的项目曾移除依赖,38.0%的项目进行角色重新分配,且部分项目后期会再次引入或切换角色。
2026-10-19 cs.SE
Towards Exploring the Code Reuse from Stack Overflow during Software Development
作为最知名的程序员问答网站之一,Stack Overflow(即,SO)每天为数万名开发者提供服务。以前的工作表明,许多开发人员在SO上重用代码片段,当他们找到一个答案(来自SO),功能上匹配他们在开发活动中遇到的编程问题。为了研究程序员在项目开发过程中如何重用SO上的代码,我们进行了全面的实证研究。首先,为了捕捉程序员的开发活动,我们从793个开源Java项目的提交中收集了342,148个修改过的代码片段,这些修改过的代码可以反映开发过程中遇到的编程问题。我们还从SO上的1,355,617个帖子中收集了代码片段。然后,我们使用CCBACK来检测提交的修改代码与SO的代码之间的代码克隆,并进一步分析程序员在开发过程中解决编程问题时的代码重用。我们统计了不同年份每个项目提交中修改后的代码片段的代码重用率,结果显示代码重用率平均为6.32%,最高为8.38%。项目提交中的代码复用率逐年上升,新成立项目的代码复用比例高于老项目。我们还发现有些项目重用了很多年前的代码片段。此外,我们发现,有经验的开发人员似乎更有可能重用SO上的知识。此外,我们发现,在bug相关的提交(6.67%)的代码重用率略高于在非bug相关的提交(6.59%)。此外,我们还发现,代码重用率(14.44%)在Java类文件中,经历了多次修改是两倍以上的整体代码重用率(6.32%)。
2022-04-27 cs.SE
AtomicCommitBench: Can Coding Agents Reconstruct Commit Histories from Squashed Patches?
Beihang University(北京航空航天大学)
研究编码代理从压缩补丁重建提交历史的问题,将任务形式化为有重放要求的块到提交分区,构建基准测试并评估,发现自然重建比重放检查等难,部分方法表现较好,还找出常见失败模式及改进方法。
2026-07-07 cs.SE
An Empirical Analysis of Git Commit Logs for Potential Inconsistency in Code Clones
本研究针对代码克隆对提交日志分析不足的问题,通过git-log分析Apache基金会45个仓库的克隆提交情况,发现克隆变更频率低、共同变更占比约一半且存在大量潜在不一致克隆对,凸显了克隆全周期一致性管理的必要性。
2024-09-13 cs.SE
Brevity is the Soul of Wit: Condensing Code Changes to Improve Commit Message Generation
本文提出用包含概括变更、提炼注释和强调标识符的简洁模板压缩代码变更,并微调CodeLlama-7B生成提交信息,在多个指标上显著优于基线。
2025-09-19 cs.SE
Understanding Emotions of Developer Community Towards Software Documentation
开源项目的可用性促进了开发人员在广泛的项目上做出贡献和协作。因此,为此类开源项目做出贡献的开发人员社区也在增加。许多项目都涉及频繁更新和广泛重复使用。一个更新良好的文档有助于更好地理解软件项目,也有助于有效的贡献和重用。虽然软件文档在软件开发和维护过程中扮演着重要的角色,但它也存在着诸如不充分、不一致、可维护性差等问题,探讨开发人员对文档的看法有助于理解软件文档中普遍存在的问题背后的原因。它可以进一步帮助决定可以向开发人员社区提供的培训,以便为社会建立更可持续的项目。分析项目贡献者的情绪可以为理解开发人员的看法提供见解。因此,作为朝着这个方向迈出的第一步,我们分析了特定于软件项目文档的提交消息的情感。为此,我们考虑了GHTorrent数据集中998个GitHub项目的提交历史,并确定了10,996个提交对应于存储库的文档。此外,我们应用情感分析技术来获得对所选提交的提交消息中表达的情感类型的见解。我们观察到,大约45%的已识别提交消息表达了信任情绪。
2021-03-01 cs.SE
LLM-Enhanced Commit Message Generation via Issue Information: An Exploratory Study
School of Computer Science, Wuhan University(武汉大学计算机学院)
该研究提出ISAC框架,将代码差异与问题信息结合作为LLM输入生成提交消息,经实验验证其性能优于现有基线,且纳入问题信息可提升CMG效果。
2026-08-25 cs.SE
KADEL: Knowledge-Aware Denoising Learning for Commit Message Generation
Fudan University(复旦大学);University of Macau(澳门大学);Sun Yat-sen University(中山大学);Chongqing University(重庆大学);Tongji University(同济大学)
本文提出知识感知去噪学习方法 KADEL,利用少量良好实践提交学习提交知识,并通过动态去噪训练为其余样本补充信息,在 MCMD 数据集上取得了最先进的提交信息生成性能。
2024-01-16 cs.AI cs.SE
Unveiling Code Clones in the Eclipse IIoT Software Ecosystem
Central China Normal University(华中师范大学);Wuhan University(武汉大学);Huazhong University of Science and Technology(华中科技大学)
研究揭示Eclipse IIoT开源项目中代码克隆的普遍存在性、演化趋势及共修改情况,发现克隆比例较高,且跨项目克隆现象显著,对软件维护产生负面影响。
2026-03-28 cs.SE
Software Architecture in Practice: Challenges and Opportunities
本文通过访谈三大洲21个组织的32名从业者,梳理软件需求、设计、构造测试和维护阶段的架构活动与挑战,发现问题集中于管理、文档、工具和流程,并收集改进建议。
2023-08-22 cs.SE
Utilizing Source Code Syntax Patterns to Detect Bug Inducing Commits using Machine Learning Models
本研究提出从源代码语法模式中提取特征来检测引入缺陷的提交,实验表明该方法在多种机器学习模型上提升了缺陷检测性能,并提供了更好的可解释性。
2022-12-07 cs.SE
An Empirical Study on Data Leakage and Generalizability of Link Prediction Models for Issues and Commits
Technical University of Delft(代尔夫特理工大学);Université de Mons(蒙斯大学)
针对 issue-commit 链接预测中的数据泄漏与泛化问题,提出基于 Transformer 的 LinkFormer,结合文本与元数据微调,并通过随机和时间划分及迁移学习验证其真实场景有效性。
2023-04-24 cs.LG cs.SE
Exploring Security Commits in Python
本研究针对Python中未被CVE收录的静默安全提交难以识别的问题,构建了首个Python安全提交数据集PySecDB,提出CommitCPG图表示与SCOPY多属性图学习模型提升数据收集效率,还发现了覆盖超85%安全提交的四种常见修复模式。
2023-07-21 cs.CR cs.SE
Debt Behind the AI Boom: A Large-Scale Empirical Study of AI-Generated Code in the Wild
Adelaide University(阿德莱德大学);University of Victoria(维多利亚大学);Huazhong University of Science and Technology(华中科技大学);Singapore Management University(新加坡管理大学)
本文研究了AI生成代码在真实软件项目中的技术债务影响,发现代码异味是最常见的问题,且部分问题长期存在,凸显了AI辅助开发中质量保障的必要性。
2026-10-13 cs.SE
Racing Against the Clock: Exploring the Impact of Scheduled Deadlines on Technical Debt
本文通过分析八个开源项目的提交与发布数据,实证研究计划截止日期对技术债务积累的影响,发现部分项目在截止日期临近时技术债务明显增加,并指出需缓解截止日期驱动的编码冲刺及其带来的技术债务风险。
2025-05-07 cs.SE
Boosting Commit Classification with Contrastive Learning
针对少样本提交分类依赖标注数据且忽视句子级语义的问题,提出基于伪标签增强和句子嵌入对比学习的CommitFit框架,在两个公开数据集上达到SOTA性能。
2023-08-16 cs.SE
LLM-Driven Collaborative Model for Untangling Commits via Explicit and Implicit Dependency Reasoning
State Key Laboratory of Complex \& Critical Software Environment (SKLCCSE), School of Computer Science;Engineering, Beihang University Beijing China;SKLCCSE, School of Computer Science;School of Computing;Data Science, The University of Hong Kong Hong Kong SAR China;Engineering, Beihang University;Data Science, The University of Hong Kong
针对开发者常产生的缠结提交问题,提出ColaUntangle协作框架,集成大语言模型驱动智能体,构建显式和隐式上下文捕捉信息,经实验验证,该框架在提交解缠任务中性能优于基线,凸显基于大语言模型协作框架的潜力。
2026-07-14 cs.AI cs.SE
An Exploration of Agentic Information Fusion for Test Maintenance Prediction
Chalmers University of Technology and University of Gothenburg(楚德斯技术大学和戈特堡大学);Ericsson AB(爱立信有限公司);University of Gothenburg(戈特堡大学)
研究针对测试维护预测问题,提出多智能体框架MAST,通过智能融合多种分析方法及后检查程序,在实际场景中评估,提升了测试维护预测水平。
2026-07-07 cs.AI cs.MA cs.SE
CodeFuse-CommitEval: Towards Benchmarking LLM's Power on Commit Message and Code Change Inconsistency Detection
Ant Group(蚂蚁集团);The University of Hong Kong(香港大学);Tsinghua University(清华大学);The University of New South Wales(新南威尔士大学)
CodeFuse-CommitEval是首个用于评估LLM检测提交信息与代码变更不一致能力的基准,通过生成七类不一致消息并验证样本,评估六种开源LLM在不同增强策略下的表现,揭示了不同增强方法对模型性能的影响及不同类型不一致的检测差异。
2025-11-25 cs.AI cs.SE
On Using Stack Overflow Comment-Edit Pairs to recommend code maintenance changes
代码维护数据集通常由包含改进或修复的代码的前后版本组成。这样的数据集对于与代码维护相关的软件工程支持工具是重要的,例如程序修复、代码推荐系统或应用编程接口(API)误用检测。当前的大多数数据集都是通过挖掘版本控制系统中的提交历史或问题跟踪系统中的问题来构建的。在本文中,我们将研究Stack Overflow是否可以用作额外的数据源。Stack Overflow上的评论为开发人员提供了一种有效的方法,可以指出现有答案、替代解决方案或陷阱中的问题。在本文中,我们从Stack Overflow中挖掘评论-编辑对,并研究它们的潜在有用性。这些对具有额外的好处,即对为什么需要更改进行具体描述,并且可能需要处理的更改较少。我们首先设计了一种技术来提取相关的评论编辑对,然后调查这些对的性质。我们发现大多数评论-编辑对并不纠缠在一起,但只有27%的研究对可能对上述应用有用。我们对挖掘对的类型进行了分类,发现有用对的最高比例来自纠正,Objective,Flaw和Extension类别。为了证明我们提取的对的有效性,我们在GitHub上提交了15个pull请求,其中10个已被广泛使用的存储库(如Apache Beam和nltk)接受。我们的工作是第一个研究Stack Overflow注释-编辑对的工作,并为未来的工作打开了大门。基于我们的发现和观察,我们提供了关于如何潜在地识别更大的有用的评论-编辑…
2021-01-25 cs.SE