MaxSMT-Based Type Inference for Python 3

Abstract

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.

Publication
In Proc. 30th International Conference on Computer Aided Verification (CAV 2018)
Date

cav2018a

Typpete