MaxSMT-Based Type Inference for Python 3 [chapter]

Mostafa Hassan, Caterina Urban, Marco Eilers, Peter Müller
2018 Lecture Notes in Computer Science  
We present Typpete, a sound type inferencer that automatically infers Python 3 type annotations. Typpete encodes type constraints as a MaxSMT problem and uses optional constraints and specific quantifier instantiation patterns to make the constraint solving process efficient. Our experimental evaluation shows that Typpete scales to real world Python programs and outperforms state-of-the-art tools.
doi:10.1007/978-3-319-96142-2_2 fatcat:jjzfgxpx5rfcfbman2muiq2ufu