2020/07/21 by Caterina Urban, Urban, Caterina
Computer Science · #FOS: Computer and information sciences #Logic in Computer Science (cs.LO) #Machine Learning and Data Classification #Programming Languages (cs.PL) #Software Engineering Research #Software Testing and Debugging Techniques #cs.LO #cs.PL
paper · pdf · doi:10.48550/arxiv.2007.10688
arxiv created 2020/07/21 · openalex publication_date 2020/07/21 · arxiv updated 2020/07/22 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Nowadays, as machine-learned software quickly permeates our society, we are becoming increasingly vulnerable to programming errors in the data pre-processing or training software, as well as errors in the data itself. In this paper, we propose a static shape analysis framework for input data of data-processing programs. Our analysis automatically infers necessary conditions on the structure and values of the data read by a data-processing program. Our framework builds on a family of underlying abstract domains, extended to indirectly reason about the input data rather than simply reasoning about the program variables. The choice of these abstract domain is a parameter of the analysis. We describe various instances built from existing abstract domains. The proposed approach is implemented in an open-source static analyzer for Python programs. We demonstrate its potential on a number of representative examples.