paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Could I Have a Stack Trace to Examine the Dependency Conflict Issue?

能给我一份用于排查依赖冲突问题的堆栈跟踪吗?
ICSE 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)2019匹配度 2/10 · 该论文聚焦 Java 依赖冲突的动态测试生成与崩溃堆栈收集,属于软件测试/调试方向,未涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户画像的核心研究问题基本无交集。引用 36 inbox
Ying Wang, Ming Wen, Rongxin Wu, Zhenwei Liu, Shin Hwei Tan, Zhiliang Zhu, Hai Yu, Shing-Chi Cheung
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 Riddle,通过自动生成测试并收集崩溃堆栈跟踪,暴露 Java 项目中的依赖冲突。

Java 项目大量使用第三方库,可能直接或间接依赖同一库或类的多个版本,JVM 只加载其中一个版本并遮蔽其他版本,引用被遮蔽版本的方法时会引发运行时异常。Maven 等构建工具虽能警告潜在依赖冲突,但开发者往往更需要崩溃堆栈跟踪来定位问题。为此,作者提出 Riddle,基于 Asm 和 Evosuite,结合条件变异、搜索策略与条件恢复,为存在重复库或类的项目自动生成测试并收集崩溃堆栈。作者在 19 个真实 Java 项目上评估,报告了 20 个依赖冲突及其崩溃堆栈和生成测试细节,其中 15 个被开发者确认为真实问题,10 个被修复,表明该方法有效且实用。

问题
Maven 等构建工具只能提示潜在依赖冲突,开发者缺少可复现并定位问题的崩溃堆栈跟踪。
方法
Riddle 基于 Asm 与 Evosuite,结合条件变异、搜索策略和条件恢复,自动生成测试并收集依赖冲突引发的崩溃堆栈。
评估
在 19 个真实 Java 项目上评估,报告 20 个依赖冲突,其中 15 个被开发者确认、10 个被修复。
原文摘要(Abstract)

Intensive use of libraries in Java projects brings potential risk of dependency conflicts, which occur when a project directly or indirectly depends on multiple versions of the same library or class. When this happens, JVM loads one version and shadows the others. Runtime exceptions can occur when methods in the shadowed versions are referenced. Although project management tools such as Maven are able to give warnings of potential dependency conflicts when a project is built, developers often ask for crashing stack traces before examining these warnings. It motivates us to develop Riddle, an automated approach that generates tests and collects crashing stack traces for projects subject to risk of dependency conflicts. Riddle, built on top of Asm and Evosuite, combines condition mutation, search strategies and condition restoration. We applied Riddle on 19 real-world Java projects with duplicate libraries or classes. We reported 20 identified dependency conflicts including their induced crashing stack traces and the details of generated tests. Among them, 15 conflicts were confirmed by developers as real issues, and 10 were readily fixed. The evaluation results demonstrate the effectiveness and usefulness of Riddle.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{WangWWLTZYC19,
  title = {Could I Have a Stack Trace to Examine the Dependency Conflict Issue?},
  author = {Ying Wang and Ming Wen and Rongxin Wu and Zhenwei Liu and Shin Hwei Tan and Zhiliang Zhu and Hai Yu and Shing-Chi Cheung},
  booktitle = {ICSE},
  year = {2019},
  doi = {10.1109/icse.2019.00068}
}