ManyTypes4Py: A benchmark python dataset for machine learning-based type inference

Amir M. Mir, Evaldas Latoskinas, Georgios Gousios

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

4 Downloads (Pure)

Abstract

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 light-weight 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.

Original languageEnglish
Title of host publication2021 IEEE/ACM 18th International Conference on Mining Software Repositories, MSR 2021
Subtitle of host publicationProceedings
EditorsL. O'Conner
Place of PublicationPiscataway
PublisherIEEE
Pages585-589
Number of pages5
ISBN (Electronic)978-1-7281-8710-5
ISBN (Print)978-1-6654-2985-6
DOIs
Publication statusPublished - 2021
Event2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR) - Virtual at Madrid, Spain
Duration: 17 May 202119 May 2021
Conference number: 18th

Conference

Conference2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR)
Abbreviated titleMSR21
CountrySpain
CityVirtual at Madrid
Period17/05/2119/05/21

Bibliographical note

Accepted author manuscript

Keywords

  • Machine Learning
  • Python
  • Static Analysis
  • Type Annotations
  • Type Inference

Fingerprint

Dive into the research topics of 'ManyTypes4Py: A benchmark python dataset for machine learning-based type inference'. Together they form a unique fingerprint.

Cite this