Fri 25 Oct 2024 15:10 - 15:30 at IBR East - Language-Specific Research Chair(s): Matthew Flatt

Python’s dynamically typed nature facilitates rapid prototyping and underlies its popularity in many domains. However, dynamic typing reduces the power of many static checking and bug-finding tools. Python type annotations can make these tools much more useful. Type inference tools aim to reduce developers’ burden of adding them. Existing type inference tools struggle over aspects including type correctness, dynamic features, non-builtin types, and computational effort. Inspired by Python’s duck-typed nature, where the attributes accessed on Python expressions characterize their implicit interfaces, we propose QuAC (Quick Attribute-Centric Type Inference for Python). At its core, QuAC collects attribute sets for Python expressions and leverages information retrieval techniques to predict classes from these attribute sets. It also recursively predicts container type parameters. We evaluate QuAC’s performance on popular Python projects. Compared to state-of-the-art non-LLM baselines, QuAC predicts types with high accuracy complementary to those predicted by the baselines while not sacrificing coverage. It also demonstrates clear advantages in predicting container type parameters and non-builtin types and reduces run times. Furthermore, QuAC is nearly two orders of magnitude faster than an LLM-based method while covering nearly half of its errorless non-trivial type predictions. It is also significantly more consistent at predicting container type parameters and non-builtin types than the LLM-based method, regardless of whether the project has ground-truth type annotations.

Fri 25 Oct

Displayed time zone: Pacific Time (US & Canada) change

13:50 - 15:30
Language-Specific ResearchOOPSLA 2024 at IBR East
Chair(s): Matthew Flatt University of Utah
13:50
20m
Talk
Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization
OOPSLA 2024
Joseph W. Cutler University of Pennsylvania, Craig Disselkoen Amazon Web Services, Aaron Eline Amazon Web Services, Shaobo He Amazon Web Services, Kyle Headley Unaffiliated, Michael Hicks Amazon Web Services and the University of Maryland, Kesha Hietala Amazon Web Services, Lef Ioannidis University of Pennsylvania, John Kastner Amazon Web Services, Anwar Mamat University of Maryland, Darin McAdams Amazon Web Services, Matt McCutchen Unaffiliated, Neha Rungta Amazon Web Services, Emina Torlak Amazon Web Services, USA, Andrew Wells Amazon Web Services
DOI
14:10
20m
Talk
CoolerSpace: A Language for Physically Correct and Computationally Efficient Color Programming
OOPSLA 2024
Ethan Chen University of Rochester, Jiwon Chang University of Rochester, Yuhao Zhu University of Rochester
DOI
14:30
20m
Talk
Design and Implementation of an Aspect-Oriented C Programming Language
OOPSLA 2024
Zhe Chen Nanjing University of Aeronautics and Astronautics, Yunlong Zhu Nanjing University of Aeronautics and Astronautics, Zhemin Wang Nanjing University of Aeronautics and Astronautics
DOI
14:50
20m
Talk
On the Expressive Power of Languages for Static VariabilityOOPSLA 2024 Distinguished Artifact Award
OOPSLA 2024
Paul Maximilian Bittner Paderborn University, Alexander Schultheiß Paderborn University, Benjamin Moosherr University of Ulm, Jeffrey Young IOHK, Leopoldo Teixeira Federal University of Pernambuco, Eric Walkingshaw Unaffiliated, Parisa Ataei Oregon State University, Thomas Thüm Paderborn University
Link to publication DOI Pre-print Media Attached
15:10
20m
Talk
QuAC: Quick Attribute-Centric Type Inference for Python
OOPSLA 2024
Jifeng Wu The University of British Columbia, Caroline Lemieux University of British Columbia
DOI Pre-print