ManyTypes4Py: A Benchmark Python Dataset for Machine Learning-based Type Inference
This provides a benchmark for researchers working on type inference in Python, though it is incremental as it builds on existing data collection efforts.
The authors tackled the lack of a large-scale dataset for machine learning-based type inference in Python by creating ManyTypes4Py, which includes 5,382 projects with over 869,000 type annotations and a static analyzer pipeline.
In this paper, we present ManyTypes4Py, a large Python dataset for machine learning (ML)-based type inference. The dataset contains a total of 5,382 Python projects with more than 869K type annotations. Duplicate source code files were removed to eliminate the negative effect of the duplication bias. To facilitate training and evaluation of ML models, the dataset was split into training, validation and test sets by files. To extract type information from abstract syntax trees (ASTs), a lightweight static analyzer pipeline is developed and accompanied with the dataset. Using this pipeline, the collected Python projects were analyzed and the results of the AST analysis were stored in JSON-formatted files. The ManyTypes4Py dataset is shared on zenodo and its tools are publicly available on GitHub.