paperbot · PL 论文追踪

全部论文 待读 收藏

P2 DepOwl: Detecting Dependency Bugs to Prevent Compatibility Failures

DepOwl:检测依赖缺陷以预防兼容性失败
ICSE 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)2021匹配度 2/10 · 该论文关注依赖兼容性缺陷检测与预防,属于软件工程/依赖管理,可能涉及程序分析但不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户核心研究方向的交叉很少。引用 14 inbox
Zhouyang Jia, Shanshan Li, Tingting Yu, Chen Zeng, Erci Xu, Xiaodong Liu, Ji Wang, Xiangke Liao
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:DepOwl 通过检测依赖缺陷,让用户从一开始就避开不兼容版本,从而预防兼容性失败。

应用常依赖库以避免重复造轮子,但库在演化过程中可能引入不兼容变更,导致应用出现兼容性失败。已有研究多聚焦于检测库中的不兼容变更,或帮助应用与库协同演化,但这些方案本质上都是事后补救:终端用户已经遭受失败,只能等待新版本发布。本文提出 DepOwl,一个帮助用户预防兼容性失败的实际工具,其核心思想是从一开始就避免使用不兼容的版本,即通过检测依赖缺陷来提前规避风险。作者在 StackOverflow 上收集的 38 个已知兼容性失败案例上评估 DepOwl,成功预防了其中 35 个;此外还在 Ubuntu-19.10 附带的软件仓库上进行了评估,DepOwl 检测出 77 个未知的依赖缺陷,这些缺陷可能导致兼容性失败。

问题
库的不兼容演化会使应用发生兼容性失败,而现有方案多为事后处理,终端用户仍先受害并需等待新版本。
方法
提出 DepOwl 工具,通过检测依赖缺陷,使用户在最初选择依赖版本时就避免使用不兼容版本,从而预防兼容性失败。
评估
在 StackOverflow 的 38 个已知兼容性失败案例上评估,DepOwl 能预防其中 35 个;并在 Ubuntu-19.10 软件仓库中检测出 77 个可能引发兼容性失败的未知依赖缺陷。
原文摘要(Abstract)

Applications depend on libraries to avoid reinventing the wheel. Libraries may have incompatible changes during evolving. As a result, applications will suffer from compatibility failures. There has been much research on addressing detecting incompatible changes in libraries, or helping applications co-evolve with the libraries. The existing solution helps the latest application version work well against the latest library version as an afterthought. However, end users have already been suffering from the failures and have to wait for new versions. In this paper, we propose DepOwl, a practical tool helping users prevent compatibility failures. The key idea is to avoid using incompatible versions from the very beginning. We evaluated DepOwl on 38 known compatibility failures from StackOverflow, and DepOwl can prevent 35 of them. We also evaluated DepOwl using the software repository shipped with Ubuntu-19.10. DepOwl detected 77 unknown dependency bugs, which may lead to compatibility failures.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{abs-2102-08543,
  title = {DepOwl: Detecting Dependency Bugs to Prevent Compatibility Failures},
  author = {Zhouyang Jia and Shanshan Li and Tingting Yu and Chen Zeng and Erci Xu and Xiaodong Liu and Ji Wang and Xiangke Liao},
  booktitle = {ICSE},
  year = {2021},
  doi = {10.1109/icse43902.2021.00021}
}