vix.ing · top · new · best · stats

What Programs Want: Automatic Inference of Input Data Specifications

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

Abstract

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.

Related