Skip to content
AI Atlas
PaperActive

On the Relation between Code Quality and Machine Learning Performance: A Large-scale Empirical Study

arxiv.org/abs/2609.10610

quality89

Updated 1 h ago · first seen 11 Sept 2026

paper_01M294FPNZ5M82160GZS1R6H3C

Published
11 Sept 2026
T1 · 1 h ago
arXiv
2609.10610
T1 · 1 h ago
Category
cs.SE
T1 · 1 h ago

Abstract

Context: Computational notebooks are the standard environment for machine learning (ML) development. Within the ML community, model performance is often the primary considered metric, and code quality is treated as a secondary concern. This prioritization relies on a largely untested assumption that code quality and ML performance are unrelated. Practitioners also reuse existing code that may come from notebooks selected through social signals (popularity, author expertise) whose reliability as quality proxies has never been assessed. Objective: We empirically investigated the relationship between code quality and ML performance in notebooks, and evaluated whether popularity and author expertise give indication on code quality or performance. Method: We conducted a large-scale empirical study of 265,363 Python notebooks submitted to Kaggle competitions. We assessed code quality with two static analysis tools: Pylint, capturing general Python code quality, and SonarQube, configured with a profile of 34 rules targeting data-science and ML-specific practices. Results: The relationship between code quality and performance depends on the notion of quality considered. General Python code quality is decoupled from ML performance, showing negligible or non-significant correlations across all observations. In contrast, ML-specific violations exhibit a consistent, small negative association with performance that persists across all observations. The popularity of a notebook does not give information on the code quality or performance. Code expertise provides no information on quality or performance, but competition expertise correlates with better performance, fewer ML-specific violations, and slightly more Python errors and refactoring violations.

Authors 4

Marius Mignard (CRIStAL), Steven Costiou (CRIStAL), Anne Etien (CRIStAL, EVREF)

Specification

Official page

Source:arXiv (Atom API + RSS)T1observed 1 h agohigh

Arxiv announce type
cross

Source:arXiv (Atom API + RSS)T1observed 1 h agohigh

arXiv id
2609.10610

Source:arXiv (Atom API + RSS)T1observed 1 h agohigh

Categories
cs.SE, cs.LG

Source:arXiv (Atom API + RSS)T1observed 1 h agohigh

PDF

Source:arXiv (Atom API + RSS)T1observed 1 h agohigh

Primary category
cs.SE

Source:arXiv (Atom API + RSS)T1observed 1 h agohigh

Published
11 Sept 2026

Source:arXiv (Atom API + RSS)T1observed 1 h agohigh

Each value shows its source, tier and observation time. Conflicting claims are kept side by side and flagged — never averaged. How AI Atlas records facts →

Provenance

Attributed facts

9

Source tiers

T19

Freshest observation

1 h ago

Conflicts

None