paperbot · PL 论文追踪

全部论文 待读 收藏

P2 From Code Changes to Quality Gains: An Empirical Study in Python ML Systems with PyQu

从代码变更到质量提升:基于 PyQu 的 Python 机器学习系统实证研究
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 3/10 · 该论文关注 Python 机器学习系统的代码变更与软件质量,与用户画像中的 ML 系统有一定交集;但核心是实证研究与基于低层软件度量的提交分类工具,并非静态分析、Agentic 程序分析、浮点程序分析或贝叶斯程序分析,也未涉及 LLM/Agent 与静态分析的交叉。引用 2 inbox
Mohamed Almukhtar, Anwar Ghammam, Marouane Kessentini, Hua Ming
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:大规模实证研究揭示 Python 机器学习系统中代码变更与软件质量的关系,提出工具 PyQu 并给出 61 类质量提升变更。

随着生成式 AI 辅助代码生成与 Python 机器学习系统(MLS)的普及,软件质量成为关注焦点,但现有研究多停留在“有哪些代码变更”,缺乏对变更与质量之间关系的理解,也缺少质量评估工具。本文对 3,340 个开源 Python ML 项目、370 万余次提交和 2.7 万亿行代码开展大规模实证研究,提出 PyQu 工具,利用底层软件度量识别能提升质量的提交,平均准确率与精确率、召回率均为 0.84,平均 F1 为 0.85。结合主题分析,作者识别出 61 种对质量有直接提升作用的代码变更,并按上下文特征归为 13 类;其中 41% 为本文新发现,未被当前最先进的 Python 变更检测工具识别。

问题
Python 机器学习系统日益复杂且重要,但缺乏质量评估工具,且不清楚具体代码变更如何影响整体质量。
方法
对 3,340 个开源 Python ML 项目(370 万+ 提交、2.7 万亿行代码)进行大规模实证分析,提出基于底层软件度量的 PyQu 工具识别质量提升提交,并用主题分析归纳变更类别。
评估
使用准确率、精确率、召回率与 F1 评估 PyQu 的提交识别效果,并通过与最先进 Python 变更检测工具对比及人工主题分析验证所发现变更的新颖性与分类。
原文摘要(Abstract)

In an era shaped by Generative Artificial Intelligence for code generation and the rising adoption of Python-based Machine Learning systems (MLS), software quality has emerged as a major concern. As these systems grow in complexity and importance, a key obstacle lies in understanding exactly how specific code changes affect overall quality—a shortfall aggravated by the lack of quality assessment tools and a clear mapping between ML systems code changes and their quality effects. Although prior work has explored code changes in MLS, it mostly stops at what the changes are, leaving a gap in our knowledge of the relationship between code changes and the MLS quality. To address this gap, we conducted a large-scale empirical study of 3,340 open-source Python ML projects, encompassing more than 3.7 million commits and 2.7 trillion lines of code. We introduce PyQu, a novel tool that leverages low-level software metrics to identify quality-enhancing commits with an average accuracy, precision, and recall of 0.84 and 0.85 of average F1 score. Using PyQu and a thematic analysis, we identified 61 code changes, each demonstrating a direct impact on enhancing software quality, and we classified them into 13 categories based on contextual characteristics. 41% of the changes are newly discovered by our study and have not been identified by state-of-the-art Python changes detection tools. Our work offers a vital foundation for researchers, practitioners, educators, and tool developers, advancing the quest for automated quality assessment and best practices in Python-based ML software.

链接与引用

DOI 原文 · arXiv · DBLP

BibTeX
@inproceedings{abs-2511-02827,
  title = {From Code Changes to Quality Gains: An Empirical Study in Python ML Systems with PyQu},
  author = {Mohamed Almukhtar and Anwar Ghammam and Marouane Kessentini and Hua Ming},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3744916.3773258}
}