paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Discovering repetitive code changes in ML systems

发现 ML 系统中的重复代码变更
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 6/10 · 论文将 Java 静态分析工具迁移到 Python,并用于挖掘 ML 系统中的重复代码变更,契合“在 ML 系统中应用静态分析”的 PL→AI 方向;但研究重点是软件演化与重构模式,不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,因此不是核心方向。引用 11 inbox
Malinda Dilhara
crossref: 2026-09-12

AI 速览

一句话:将 Java 静态分析工具迁移到 Python,挖掘 ML 系统中的重复代码变更模式并开展开发者调研。

ML 软件系统在演化过程中存在大量重复性代码变更。现有重复变更检测与重构挖掘工具主要面向 Java 等语言,Python 生态尤其是 ML 代码缺乏支持,而许多 ML 开发者又缺乏专业软件工程训练。为弥补这一缺口,作者提出将 Java 静态分析工具生态适配并复用到 Python 的方法,并据此改造了 RefactoringMiner 与 CPATMiner 两个软件演化工具。基于这些工具,作者对 59 个 ML 系统开展了首个细粒度代码变更模式研究,并调研了 253 名开发者。研究给出了有实证依据、可操作的工具构建建议,并发布工具供研究者使用。

问题
ML 系统演化中频繁出现重复性代码变更,但现有重构与变更模式挖掘工具主要支持 Java,Python 与 ML 代码缺乏对应工具,且许多 ML 开发者并非专业开发者。
方法
作者将 Java 静态分析工具生态适配到 Python,改造 RefactoringMiner 和 CPATMiner,并用其挖掘 59 个 ML 系统的细粒度代码变更模式,同时调研 253 名开发者。
评估
在 59 个 ML 系统上进行大规模实证研究,并通过 253 名开发者的问卷调研提炼工具构建建议;相关工具已发布。
原文摘要(Abstract)

Similar to software evolution in other software systems, ML software systems evolve with many repetitive changes. Despite some research and tooling for repetitive code changes that exist in Java and other languages, there is a lack of such tools for Python. Given the significant rise of ML software development, and that many ML developers are not professionally trained developers, the lack of software evolution tools for ML code is even more critical. To bring the ML developers’ toolset into the 21st century, we implemented an approach to adapt and reuse the vast ecosystem of Java static analysis tools for Python. Using this approach, we adapted two software evolution tools, RefactoringMiner and CPATMiner, to Python. With the tools, we conducted the first and most fine-grained study on code change patterns in 59 ML systems and surveyed 253 developers. We recommend empirically-justified, actionable opportunities for tool builders and release the tools for researchers.

链接与引用

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

BibTeX
@inproceedings{paperbot6435,
  title = {Discovering repetitive code changes in ML systems},
  author = {Malinda Dilhara},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3473493}
}