Type inference is the detection of the return type of expressions or the data types of variables in a program. Dynamic programming languages such as Python and JavaScript lack static types. The of data types causes a number of issues such as run-time errors, weaker IDE support, and lower code quality. To alleviate these issues, optional type annotations have been introduced. For instance, the Python community proposed the PEP 484 proposal in 2014, which enables Python developers to add type annotations to an existing codebase or newly written code. Manually adding type annotations to existing codebases is an error-prone and cumbersome process. Motivated by this, researchers have recently applied Machine Learning (ML) techniques to predict type annotations for dynamic programming languages.
In this session, we will be discussing state-of-the-art ML-based type inference approaches, namely Typilus [1] and TypeWriter [2].
The course contents are copyrighted (c) 2018,2019,2020 - onwards by TU Delft and their respective authors and licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.