一句话:提出数据驱动的依赖管理方法,聚合细粒度兼容性与安全信息并转化为可优化解析约束,以减轻开发者维护负担。
现代软件系统严重依赖开源依赖,但依赖集维护需同时满足新鲜度、兼容性与安全性,三者常相互冲突。现有工具支持有限,且依赖客户端特定信息,难以跨客户端泛化与扩展,开发者仍承担主要质量责任。本博士项目研究如何使依赖管理器能够提供最新、兼容且安全的依赖集。作者假设这需要关于依赖如何演化与交互的细粒度、可复用知识,而现有解析器尚未获取或利用这类知识。为此提出数据驱动的依赖管理方法:聚合详细的兼容性与安全信息,并将其融入细粒度、可优化的解析约束。项目将贡献客户端无关的兼容性分析技术、细粒度库变更数据集、混合客户端感知的兼容性与漏洞检测方法,以及面向客户端使用模式的优化型依赖解析器。这些工作旨在减轻开发者维护负担并强化软件供应链。
Modern software systems rely heavily on open-source dependencies, yet maintaining these dependencies remains challenging due to the conflicting requirements of freshness, compatibility, and security. Existing tools provide only partial support and often rely on client-specific information, which does not generalize or scale to efficiently manage dependency sets across diverse clients. As a result, developers remain largely responsible for ensuring the quality of their dependency sets. This PhD project investigates how dependency managers can be empowered to provide dependency sets that are up-to-date, compatible, and secure. I hypothesize that this requires fine-grained and reusable knowledge about how dependencies evolve and interact, which is not currently available or exploited by existing resolvers. To address this, I propose a data-driven dependency management approach that aggregates detailed compatibility and security information and incorporates it into fine-grained, optimizable resolution constraints. The project will contribute techniques for client-agnostic compatibility analysis, a dataset of fine-grained library changes, a hybrid client-aware compatibility and vulnerability detection approach, and an optimization-based dependency resolver tailored to client usage. Together, these contributions aim to reduce the developer burden of dependency maintenance and strengthen the software supply chain.