Skip to main content
CenXiv.org
此网站处于试运行阶段,支持我们!
我们衷心感谢所有贡献者的支持。
贡献
赞助
cenxiv logo > cs > arXiv:2508.07084

帮助 | 高级搜索

计算机科学 > 软件工程

arXiv:2508.07084 (cs)
[提交于 2025年8月9日 ]

标题: 对开源Java项目中方法级性能演化的实证研究

标题: An Empirical Study on Method-Level Performance Evolution in Open-Source Java Projects

Authors:Kaveh Shahedi, Nana Gyambrah, Heng Li, Maxime Lamothe, Foutse Khomh
摘要: 性能是软件开发中的一个关键质量属性,但方法级别的代码更改对性能演变的影响仍然缺乏深入理解。 尽管开发者通常会对哪些类型的修改可能导致性能退化或提升做出直观假设,但这些信念在细粒度层面缺乏实证验证。 我们进行了一项大规模的实证研究,分析了15个托管在GitHub上的成熟开源Java项目中的性能演变。 我们的分析涵盖了包含1,499个方法级别代码更改的739个提交,使用Java微基准测试工具(JMH)进行精确的性能测量,并进行严格的统计分析,以量化性能变化的显著性和幅度。 我们采用了字节码插装来捕获特定方法的执行指标,并系统地分析了四个关键方面:时间性能模式、代码更改类型的相关性、开发人员和复杂度因素以及领域大小的交互作用。 我们的研究结果表明,32.7%的方法级别更改会导致可测量的性能影响,其中退化发生的频率比提升高出1.3倍。 与传统观念相反,我们发现不同代码更改类别之间的性能影响分布没有显著差异,这挑战了基于风险的开发策略。 算法更改显示出最高的改进潜力,但同时也伴随着较大的退化风险。 高级开发人员产生的更改更加稳定,极端变化较少,而代码复杂度与退化可能性增加相关。 领域大小的交互作用揭示了显著的模式,其中Web服务器+小型项目表现出最高的性能不稳定。 我们的研究为将自动化性能测试集成到持续集成流程中提供了实证依据。
摘要: Performance is a critical quality attribute in software development, yet the impact of method-level code changes on performance evolution remains poorly understood. While developers often make intuitive assumptions about which types of modifications are likely to cause performance regressions or improvements, these beliefs lack empirical validation at a fine-grained level. We conducted a large-scale empirical study analyzing performance evolution in 15 mature open-source Java projects hosted on GitHub. Our analysis encompassed 739 commits containing 1,499 method-level code changes, using Java Microbenchmark Harness (JMH) for precise performance measurement and rigorous statistical analysis to quantify both the significance and magnitude of performance variations. We employed bytecode instrumentation to capture method-specific execution metrics and systematically analyzed four key aspects: temporal performance patterns, code change type correlations, developer and complexity factors, and domain-size interactions. Our findings reveal that 32.7% of method-level changes result in measurable performance impacts, with regressions occurring 1.3 times more frequently than improvements. Contrary to conventional wisdom, we found no significant differences in performance impact distributions across code change categories, challenging risk-stratified development strategies. Algorithmic changes demonstrate the highest improvement potential but carry substantial regression risk. Senior developers produce more stable changes with fewer extreme variations, while code complexity correlates with increased regression likelihood. Domain-size interactions reveal significant patterns, with web server + small projects exhibiting the highest performance instability. Our study provides empirical evidence for integrating automated performance testing into continuous integration pipelines.
主题: 软件工程 (cs.SE) ; 性能 (cs.PF)
引用方式: arXiv:2508.07084 [cs.SE]
  (或者 arXiv:2508.07084v1 [cs.SE] 对于此版本)
  https://doi.org/10.48550/arXiv.2508.07084
通过 DataCite 发表的 arXiv DOI

提交历史

来自: Kaveh Shahedi [查看电子邮件]
[v1] 星期六, 2025 年 8 月 9 日 19:39:01 UTC (1,278 KB)
全文链接:

获取论文:

    查看标题为《》的 PDF
  • 查看中文 PDF
  • 查看 PDF
  • HTML(实验性)
  • TeX 源代码
  • 其他格式
许可图标 查看许可
当前浏览上下文:
cs.SE
< 上一篇   |   下一篇 >
新的 | 最近的 | 2025-08
切换浏览方式为:
cs
cs.PF

参考文献与引用

  • NASA ADS
  • 谷歌学术搜索
  • 语义学者
a 导出 BibTeX 引用 加载中...

BibTeX 格式的引用

×
数据由提供:

收藏

BibSonomy logo Reddit logo

文献和引用工具

文献资源探索 (什么是资源探索?)
连接的论文 (什么是连接的论文?)
Litmaps (什么是 Litmaps?)
scite 智能引用 (什么是智能引用?)

与本文相关的代码,数据和媒体

alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)

演示

复制 (什么是复制?)
Hugging Face Spaces (什么是 Spaces?)
TXYZ.AI (什么是 TXYZ.AI?)

推荐器和搜索工具

影响之花 (什么是影响之花?)
核心推荐器 (什么是核心?)
IArxiv 推荐器 (什么是 IArxiv?)
  • 作者
  • 地点
  • 机构
  • 主题

arXivLabs:与社区合作伙伴的实验项目

arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。

与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。

有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.

这篇论文的哪些作者是支持者? | 禁用 MathJax (什么是 MathJax?)
  • 关于
  • 帮助
  • contact arXivClick here to contact arXiv 联系
  • 订阅 arXiv 邮件列表点击这里订阅 订阅
  • 版权
  • 隐私政策
  • 网络无障碍帮助
  • arXiv 运营状态
    通过...获取状态通知 email 或者 slack

京ICP备2025123034号