Luca Negrini
Logo

Luca Negrini

data-science  static-analysis  abstract-interpretation  jupyter-notebooks

Static Analysis of Data Transformations in Jupyter Notebooks

Authors: L. Negrini, G. Shabadi, C. Urban
Proceedings of the 12th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis (SOAP 2023)
Orlando, FL, USA & online, June 17, 2023
Workshop paper

Abstract

Jupyter notebooks used to pre-process and polish raw data for data science and machine learning processes are challenging to analyze. Their data-centric code manipulates dataframes through call to library functions with complex semantics, and the properties to track over it vary widely depending on the verification task. This paper presents a novel abstract domain that simplifies writing analyses for such programs, by extracting a unique CFG from the notebook that contains all transformations applied to the data. Several properties can then be determined by analyzing such CFG, that is simpler than the original Python code. We present a first use case that exploits our analysis to infer the required shape of the dataframes manipulated by the notebook.

Manuscript: PDF
Conference talk:Talk @ SOAP 2023
Associated project: LiSA
Conference page: Link
ACM page: Link