paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Implicit, Yet Impactful: Understanding Hidden Dependencies in Java Projects

隐式却影响深远:理解 Java 项目中的隐藏依赖
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026匹配度 2/10 · 该论文是 Java/Maven 隐式依赖的实证研究,聚焦软件供应链安全与维护,属于软件工程领域;与用户画像关注的 PL 与 AI 交叉(静态分析、LLM/Agent、浮点/Bayesian 程序分析)无直接关联,也未涉及 LLM 或形式化方法。引用 0 inbox
Lyuye Zhang, Chengwei Liu, Fangyuan Zhang, Yiran Zhang, Yuan Zhou, Yang Liu
crossref: 2026-10-09

AI 速览

一句话:首次大规模实证刻画 Java/Maven 中隐式依赖的成因、生命周期影响与安全维护后果。

论文首次以隐式依赖为核心对象,研究 Java/Maven 生态中未声明却被项目直接使用的依赖。作者从 Maven Central 和 GitHub 构建大规模数据集,涵盖 1,157 个库、19,812 个版本和 972 个模块,量化隐式依赖的存在、成因、生命周期后果及安全维护风险。结果显示,34.12% 的样本含隐式依赖,主要归因于两类原因;其中 48% 因版本漂移引入破坏性变更,36 个 CVE 的脆弱方法被根项目直接使用,30.28% 的隐式依赖在 SCA 工具对声明依赖所用版本范围约定下受已知漏洞影响。最后总结四类应对措施,为开源生态参与者提供可操作建议。

问题
直接依赖和普通传递依赖受到较多关注,但项目代码实际使用却未声明的隐式依赖缺乏系统研究,其版本不受项目直接控制,带来安全与维护风险。
方法
对 Maven 生态开展实证研究,构建来自 Maven Central 与 GitHub 的大规模数据集,量化隐式依赖的存在、成因、版本漂移、破坏性变更、CVE 暴露及 SCA 覆盖情况。
评估
基于 1,157 个库、19,812 个版本和 972 个 GitHub 模块进行统计与案例分析,并归纳四类应对措施。
原文摘要(Abstract)

As software usage continues to expand, package managers automatically resolve dependencies to construct a dependency graph based on user-specified requirements. These explicitly declared dependencies, known as direct dependencies, receive significant attention in terms of maintainability and security. However, implicit dependencies, which are not explicitly defined by users but are still directly utilized or referenced in their project code due to oversight, remain largely unnoticed. Unlike ordinary transitive dependencies, which may remain unused and invisible to the root, implicit dependencies are actively used yet undeclared, leaving their versions outside the project’s direct control. This lack of awareness poses substantial challenges related to security and maintainability. In this study, we present the first study to treat implicit dependencies as the focal phenomenon and quantitatively characterize their lifecycle consequences for the Maven ecosystem. We meticulously collected and built a large-scale dataset with 1,157 libraries with 19,812 versions from the Maven Central Repository and 972 modules from GitHub. Our findings reveal that 34.12% of the analyzed dataset contains implicit dependencies, with two primary causes identified as key contributors to the issue. Among these, 48% introduce breaking changes due to version drift, and 36 CVEs have vulnerable methods directly used by root projects; 30.28% of implicit dependencies are affected by known vulnerabilities under the version-range convention SCA tools use for declared dependencies. Finally, we identified and analyzed four major countermeasures, providing actionable insights and practical implications for addressing this overlooked issue for stakeholders within the OSS ecosystem.

链接与引用

DOI 原文 · arXiv ·

BibTeX
@inproceedings{paperbot12398,
  title = {Implicit, Yet Impactful: Understanding Hidden Dependencies in Java Projects},
  author = {Lyuye Zhang and Chengwei Liu and Fangyuan Zhang and Yiran Zhang and Yuan Zhou and Yang Liu},
  booktitle = {ASE},
  year = {2026},
  doi = {10.1145/3832783.3837552}
}