Computational notebooks are widely used for machine learning (ML). However, notebooks raise new correctness concerns beyond those found in traditional programming environments. ML library APIs are easy to misuse, and the notebook execution model raises entirely new problems concerning reproducibility. It is common to use static analyses to detect bugs and enforce best practices in software applications. However, when configured with new types of rules tailored to notebooks, these analyses can also detect notebook-specific problems. We present our initial efforts in understanding how static analysis for notebooks differs from analysis of traditional application software. We created six new rules for the CodeGuru Reviewer based on discussions with ML practitioners. We ran the tool on close to 10,000 experimentation notebooks, resulting in an average of approximately 1 finding per 7 notebooks. Approximately 60% of the findings that we reviewed are real notebook defects. (Due to confidentiality limitations, we cannot disclose the exact number of notebook files and findings.)
CITATION STYLE
Liblit, B., Luo, L., Molina, A., Mukherjee, R., Patterson, Z., Piskachev, G., … Visser, W. (2023). Shifting Left for Early Detection of Machine-Learning Bugs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 14000 LNCS, pp. 584–597). Springer Science and Business Media Deutschland GmbH. https://doi.org/10.1007/978-3-031-27481-7_33
Mendeley helps you to discover research relevant for your work.