paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Automatically Fixing Breaking Changes of Data Science Libraries

自动修复数据科学库的破坏性变更
ASE Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering2022匹配度 3/10 · 该论文聚焦于自动修复数据科学库 API 破坏性变更,属于程序修复与代码迁移方向,但未涉及将静态分析应用于 ML/Agentic 程序,也未利用 LLM/Agent 改进静态分析,与用户核心方向(PL 与 AI 交叉、浮点/贝叶斯程序分析)关联较弱。引用 1 inbox
Hailie Mitchell
crossref: 2026-09-12

AI 速览

一句话:提出 CombyInferPy,从库源码历史推断 Comby 重写规则,自动修复数据科学库 API 的破坏性变更。

数据科学库更新频繁,新版本常包含破坏性变更,导致现有代码无法编译或运行。由于更新大型项目的源代码十分困难,开发者往往滞留于旧版本。本文提出 CombyInferPy,一种自动分析和修复库 API 破坏性变更的工具。它从库源码历史中推断规则,以 Comby 模板(一种结构化代码搜索与替换工具)的形式表示,进而自动转换代码。初步结果表明,CombyInferPy 能更新 pandas 库的 Python 代码;利用其推断的 Comby 规则,可自动修复若干失败的测试和警告。这说明该思路在帮助开发者更新库方面具有前景。

问题
数据科学库的破坏性变更迫使开发者手动更新代码,但大型项目源码更新困难,导致开发者长期使用旧版本。
方法
CombyInferPy 从库源码历史中自动推断 Comby 模板形式的规则,利用这些结构化搜索替换规则来自动分析和修复库 API 的破坏性变更。
评估
初步评估在 pandas 库的 Python 代码上进行,使用推断出的 Comby 规则自动修复了若干失败的测试和警告,表明方法可行且有前景。
原文摘要(Abstract)

Data science libraries are updated frequently, and new version releases commonly include breaking changes. These are updates that cause existing code to not compile or run. Developers often use older versions of libraries because it is challenging to update the source code of large projects. We propose CombyInferPy, a new tool to automatically analyze and fix breaking changes in library APIs. CombyInferPy infers rules from the history of library source code in the form of Comby templates, a structural code search and replace tool that can automatically transform code. Preliminary results indicate CombyInferPy can update the pandas library Python code. Using the Comby rules inferred by CombyInferPy, we can automatically fix several failing tests and warnings. This shows this approach is promising to help developers update libraries.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot7356,
  title = {Automatically Fixing Breaking Changes of Data Science Libraries},
  author = {Hailie Mitchell},
  booktitle = {ASE},
  year = {2022},
  doi = {10.1145/3551349.3559507}
}