Can AI be Easy? Lessons Learned From the EZR.py Toolkit

ABSTRACT Much recent press claims that developers no longer need to read code. We disagree, at least within the domain of tabular software‐engineering (SE) optimization tasks: rows of and values where the values are expensive to obtain. As evidence, we present EZR.py, a Python toolkit of less than 1000 lines (no heavy dependencies) that implements Naive Bayes, ‐means clustering, classification and regression trees, simulated annealing, local search, active learning, and complementary‐Bayes text‐mining relevance filtering for tabular SE data. EZR was built by repeatedly reading and refactoring AI tools to simplify and unify them. The result demonstrates that many seemingly different learning algorithms are nearly the same once stripped back to their core: classical algorithms collapse to a few lines each, and a state‐of‐the‐art active learner fits in roughly 80 lines. This paper shows that (a) on 20 randomly selected benchmarks from the MOOT repository of 124 tabular SE optimization tasks, simulated annealing in its 1983 default configuration matches or beats more elaborate local‐search variants; (b) an 80‐line active learner reaches 85%–95% of the reference optimum with fewer than 100 labels across the MOOT tasks , building trees from fewer than ten variables even when thousands are available; and (c) on Yu et al.'s four systematic‐review corpora, a 30‐line complementary‐Bayes filter matches the recall of the SVM‐based FASTREAD text miner using roughly one‐third of the labels , on three of the four corpora; on the fourth, it converges faster but plateaus below FASTREAD's recall ceiling (a tradeoff detailed in §7) . Companion studies (coauthored by authors of this paper) further report that this active learner's model update runs over 400 times faster than SMAC3, and that its trees rank features as well as SHAP and ReliefF. We conclude that, within the scope of tabular SE optimization, reading and refactoring code is a useful method of generating insight, and small unified toolkits can rival large libraries. EZR is available under an open‐source license. Install via pip install ezr (Python 3.12). The exact version studied here (release v0.9.4 ) is archived at Zenodo, DOI 10.5281/zenodo.22554751 ; example data at github.com/timm/moot . See Appendix A for notes on installing and running this code.

Authors

Institutions

Publication Details

Journal
Software Practice and Experience
Published
2026-10-26
DOI
https://doi.org/10.1002/spe.70113
Primary Topic
Machine Learning and Data Classification
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Can AI be Easy? Lessons Learned From the EZR.py Toolkit

Tim Menzies, Srinath Srinivasan, Kishan Kumar Ganguly
1 links
Software Practice and Experience
Machine Learning and Data Classification
article

Can AI be Easy? Lessons Learned From the EZR.py Toolkit

Tim Menzies, Srinath Srinivasan, Kishan Kumar Ganguly
article en

Abstract

ABSTRACT Much recent press claims that developers no longer need to read code. We disagree, at least within the domain of tabular software‐engineering (SE) optimization tasks: rows of and values where the values are expensive to obtain. As evidence, we present EZR.py, a Python toolkit of less than 1000 lines (no heavy dependencies) that implements Naive Bayes, ‐means clustering, classification and regression trees, simulated annealing, local search, active learning, and complementary‐Bayes text‐mining relevance filtering for tabular SE data. EZR was built by repeatedly reading and refactoring AI tools to simplify and unify them. The result demonstrates that many seemingly different learning algorithms are nearly the same once stripped back to their core: classical algorithms collapse to a few lines each, and a state‐of‐the‐art active learner fits in roughly 80 lines. This paper shows that (a) on 20 randomly selected benchmarks from the MOOT repository of 124 tabular SE optimization tasks, simulated annealing in its 1983 default configuration matches or beats more elaborate local‐search variants; (b) an 80‐line active learner reaches 85%–95% of the reference optimum with fewer than 100 labels across the MOOT tasks , building trees from fewer than ten variables even when thousands are available; and (c) on Yu et al.'s four systematic‐review corpora, a 30‐line complementary‐Bayes filter matches the recall of the SVM‐based FASTREAD text miner using roughly one‐third of the labels , on three of the four corpora; on the fourth, it converges faster but plateaus below FASTREAD's recall ceiling (a tradeoff detailed in §7) . Companion studies (coauthored by authors of this paper) further report that this active learner's model update runs over 400 times faster than SMAC3, and that its trees rank features as well as SHAP and ReliefF. We conclude that, within the scope of tabular SE optimization, reading and refactoring code is a useful method of generating insight, and small unified toolkits can rival large libraries. EZR is available under an open‐source license. Install via pip install ezr (Python 3.12). The exact version studied here (release v0.9.4 ) is archived at Zenodo, DOI 10.5281/zenodo.22554751 ; example data at github.com/timm/moot . See Appendix A for notes on installing and running this code.

Software Practice and Experience
North Carolina State University (US)
Openalex Percentile: Top 63%
Machine Learning and Data Classification
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Laika access coming soon