TypeEvalPy: A Micro-benchmarking Framework for Python Type Inference Tools - Shivarpatna Venkatesh, Ashwin Prasad; Sabu, Samkutty; Wang, Jiawei; Mir, Amir M.; Li, Li; Bodden, Eric (Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings)
In light of the growing interest in type inference research for Python, both researchers and practitioners require a standardized process to assess the performance of various type inference techniques. This paper introduces TypeEvalPy, a comprehensive micro-benchmarking framework for evaluating type inference tools. TypeEvalPy contains 154 code snippets with 845 type annotations across 18 categories that target various Python features. The framework manages the execution of containerized tools, transforms inferred types into a standardized format, and produces meaningful metrics for assessment. Through our analysis, we compare the performance of six type inference tools, highlighting their strengths and limitations. Our findings provide a foundation for further research and optimization in the domain of Python type inference.