Score: 0

RightTyper: Effective and Efficient Type Annotation for Python

Published: July 21, 2025 | arXiv ID: 2507.16051v1

By: Juan Altmayer Pizzorno, Emery D. Berger

Potential Business Impact:

Finds mistakes in computer code automatically.

Business Areas:
Natural Language Processing Artificial Intelligence, Data and Analytics, Software

Python type annotations bring the benefits of static type checking to the language. However, manually writing annotations can be time-consuming and tedious. The result is that most real-world Python code remains largely untyped. Past approaches to annotating types in Python code fall short in a number of ways. Static approaches struggle with dynamic features and infer overly broad types. AI-based methods are inherently unsound and can miss rare or user-defined types. Dynamic methods can impose extreme runtime overheads, degrading performance by up to 270x, abort execution as they exhaust resources, and even infer incorrect types that lead to runtime errors. Crucially, all prior work assumes implicitly that the code to be annotated is already correct. This assumption is generally unwarranted, especially for large codebases that have been untyped. This paper presents RightTyper, a novel approach for Python that overcomes these disadvantages. RightTyper not only generates precise type annotations based on actual program behavior, improving recall in type checking relative to prior approaches. It also turns type checking into anomaly detection, allowing the type checker to identify corner cases that the programmer can audit for unintended behavior. RightTyper is also fast and space-efficient, imposing just 30% performance overhead on average. RightTyper achieves these characteristics by a principled yet pervasive use of sampling--guided by self-profiling--along with statistical filtering and careful resolution and aggregation of type information.

Country of Origin
πŸ‡ΊπŸ‡Έ United States

Page Count
12 pages

Category
Computer Science:
Programming Languages