Author Login Chief Editor Login Reviewer Login Editor Login Remote Office

Computer Engineering ›› 2026, Vol. 52 ›› Issue (9): 424-435. doi: 10.19678/j.issn.1000-3428.0252768

• Interdisciplinary Integration and Engineering Applications • Previous Articles     Next Articles

Empirical Study of Redundant Dependencies in Open-Source Java Projects

LIU Meigui, ZHANG Neng*(), LI Jiale, ZHAO Yuqi, LI Zengyang   

  1. School of Computer Science, Central China Normal University, Wuhan 430079, Hubei, China
  • Received:2025-07-16 Revised:2025-09-08 Online:2026-09-15 Published:2026-09-01
  • Contact: ZHANG Neng

开源Java项目中冗余依赖的实证研究

刘玫瑰, 张能*(), 李佳乐, 赵玉琦, 李增扬   

  1. 华中师范大学计算机学院, 湖北 武汉 430079
  • 通讯作者: 张能
  • 作者简介:

    刘玫瑰, 女, 本科生, 主研方向为软件工程

    张能(CCF高级会员、通信作者), 副教授、博士

    李佳乐, 本科生

    赵玉琦, 讲师、博士

    李增扬, 副教授、博士

  • 基金资助:
    中央高校基本科研业务费专项资金(CCNU25ai015)

Abstract:

Redundant dependencies in software projects can increase build size, performance overhead, and long-term maintenance burden. Although existing studies have investigated redundant dependencies within the Maven ecosystem, analyses of their distribution across different dependency scopes (e.g., compile and test), evolutionary patterns, and impact on project popularity are lacking. To address this gap, this study selects 2 214 Java Maven open-source projects from GitHub as research subjects. It employs a mvn command to identify dependencies that are declared but not actually used and quantitatively analyzes redundancy ratios based on their respective scopes. Furthermore, it applies the Mann-Kendall non-parametric trend test on 3 817 historical versions from 698 projects to identify evolutionary trends in redundant dependencies. To assess the relationship between redundant dependencies and project popularity or community activity, this study constructs five GitHub-based popularity and activity metrics, including star growth, fork growth, and Issue closing rates, and performs a Pearson correlation analysis. Experimental results show that redundant dependencies are primarily concentrated in the compile and test scopes, with median redundancy ratios of 33.33% and 30%, respectively. In terms of evolutionary trends, 48.1% of the projects maintain a stable redundancy ratio and 36.2% exhibit fluctuations, while a small proportion shows an increasing or decreasing trend. In the correlation analysis, only the issue closing rate exhibits a significantly weak negative correlation with the redundancy ratio. These findings provide developers with a detailed perspective on dependency management and can aid in optimizing project configurations and improving software maintainability.

Key words: Java open-source project, redundant dependency analysis, dependency evolution trend, empirical study, Maven ecosystem, GitHub open-source platform

摘要:

软件项目中的冗余依赖可能导致构建体积增加、性能开销上升, 以及维护负担加重。尽管已有研究关注Maven生态系统中的冗余依赖问题, 但对冗余依赖在不同依赖作用域(如编译和测试)中的分布特征、演化模式及其对项目受欢迎程度等的影响仍缺乏分析。为此, 选取GitHub平台上2 214个Java Maven开源项目作为研究对象, 采用mvn命令识别各项目中引入但未被实际使用的冗余依赖, 并结合依赖的作用域信息进行冗余比例的定量分析。接着, 在698个项目的3 817个历史版本中采用Mann-Kendall非参数趋势检验方法, 识别冗余依赖的演变趋势。此外, 为评估冗余依赖与项目受欢迎程度和社区活跃度之间的关系, 构建包括Star增长率、Fork增长率、Issue关闭率等在内的5种GitHub流行度和活跃度指标, 并进行皮尔逊相关性分析。实验结果表明, 冗余依赖主要分布在编译和测试作用域, 其冗余比例中位数分别为33.33%和30%;在演化趋势上, 48.1%的项目冗余比例保持稳定, 36.2%的项目冗余比例波动, 少数呈现增加或减少趋势; 在相关性分析中, 仅Issue关闭率与冗余依赖比例表现出显著弱负相关性。研究结果可为开发者提供细致的依赖管理视角, 助力优化项目配置与提升软件可维护性。

关键词: Java开源项目, 冗余依赖分析, 依赖演化趋势, 实证研究, Maven生态系统, GitHub开源平台