Lune

ISSTA2026顶会

BCaLLM: Call Graph-Guided Python Breaking Change Detection with Large Language Models

Wei Cheng, Chen Shen, Huan Zhang, Yuhan Wu, Jingyue Yang, Wei Hu

2026年份

摘要

Software libraries frequently evolve, introducing breaking changes that disrupt client applications. Existing detection approaches primarily target static programming languages or focus on syntactic changes, leaving behavioral breaking changes in dynamic languages such as Python underexplored. This task is particularly challenging due to side effects and call relationships, two critical factors that implicitly alter API behaviors and propagate change impact across library APIs. To address these challenges, we propose a generalized taxonomy of function API breaking changes. Grounded in Hyrum’s Law, our taxonomy is defined from the client’s perspective of observable behaviors and unifies both syntactic and behavioral categories in a multi-label formulation. Furthermore, we present BCaLLM, a novel framework to detect fine-grained breaking changes in Python packages by leveraging call graphs and large language models (LLMs). BCaLLM constructs a fused call graph to scope change impact, prunes compatible APIs and code context via memory-based heuristics, and employs an LLM to detect specific breaking changes. We construct PyBCEval, a manually annotated benchmark of 588 APIs from 27 version pairs of 19 widely used Python packages. Experiments with diverse LLMs show that BCaLLM outperforms text-based baselines by 3.71%–10.16% and LLM-based baselines by 1.60%–4.83% in F1-score.

问问这篇 Paper

问问你的智能体。

Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。

可以从这些问题问起

智能体调用

Lunesearch_papers

在 Lune 里问

免费开始,无需绑卡

lune papers get 792900de-e044-4a89-85a4-bd5ba147888e

相关 Paper

黄昏的海面,两侧是细线勾勒的悬崖