DLS
Sun 15 - Fri 20 November 2020 Online Conference
co-located with SPLASH 2020
Thu 19 Nov 2020 04:00 - 04:20 at SPLASH-III - 4 Chair(s): Caterina Urban, Shigeru Chiba
Wed 18 Nov 2020 16:00 - 16:20 at SPLASH-III - 4 Chair(s): Jeremy G. Siek, Antoine Miné

Many researchers have explored retrofitting static type systems to dynamic languages. This raises the question of how to add type annotations to code that was previously untyped. One obvious solution is type inference. However, in complex type systems, in particular those with structural types, type inference typically produces most general types that are large, hard to understand, and unnatural for programmers. To solve this problem, we introduce InferDL, a novel Ruby type inference system that infers sound and useful type annotations by incorporating heuristics that guess types. For example, we might heuristically guess that a parameter whose name ends in ``count'' is an integer. InferDL works by first running standard type inference and then applying heuristics to any positions for which standard type inference produces overly-general types. Heuristic guesses are added as constraints to the type inference problem to ensure they are consistent with the rest of the program and other heuristic guesses; inconsistent guesses are discarded. We formalized InferDL in a core type and constraint language. We implemented InferDL on top of RDL, an existing Ruby type checker. To evaluate InferDL, we applied it to four Ruby on Rails apps that had been previously type checked with RDL, and hence had type annotations. We found that, when using heuristics, InferDL inferred 22% more types that were as or more precise than the previous annotations, compared to standard type inference without heuristics. We also found one new type error. We further evaluated InferDL by applying it to six additional apps, finding five additional type errors. Thus, we believe InferDL represents a promising approach for inferring type annotations in dynamic languages.

Wed 18 Nov
Times are displayed in time zone: Central Time (US & Canada) change

15:00 - 16:20: 4SAS / DLS 2020 at SPLASH-III +12h
Chair(s): Jeremy G. SiekIndiana University, USA, Antoine MinéSorbonne Université
15:00 - 15:20
Research paper
SAS
Sung Kook KimUniversity of California, Davis, Arnaud J. VenetFacebook, Aditya V. ThakurUniversity of California, Davis
Pre-print Media Attached
15:20 - 15:40
Talk
DLS 2020
Tobias KohnUniversity of Cambridge, UK, Guido van RossumPython Software Foundation, Gary Brandt Bucher, IIResearch Affiliates, LLC, Talin, Ivan LevkivskyiDropbox Ireland
Link to publication DOI Media Attached
15:40 - 16:00
Research paper
SAS
Abu Naser MasudMalardalen University
Media Attached File Attached
16:00 - 16:20
Talk
DLS 2020
Milod KazerounianUniversity of Maryland, College Park, Brianna M. RenUniversity of Maryland, Jeffrey S. FosterTufts University
Link to publication DOI Pre-print Media Attached

Thu 19 Nov
Times are displayed in time zone: Central Time (US & Canada) change

03:00 - 04:20: 4SAS / DLS 2020 at SPLASH-III
Chair(s): Caterina UrbanÉcole normale supérieure, Shigeru ChibaThe University of Tokyo
03:00 - 03:20
Research paper
SAS
Sung Kook KimUniversity of California, Davis, Arnaud J. VenetFacebook, Aditya V. ThakurUniversity of California, Davis
Pre-print Media Attached
03:20 - 03:40
Talk
DLS 2020
Tobias KohnUniversity of Cambridge, UK, Guido van RossumPython Software Foundation, Gary Brandt Bucher, IIResearch Affiliates, LLC, Talin, Ivan LevkivskyiDropbox Ireland
Link to publication DOI Media Attached
03:40 - 04:00
Research paper
SAS
Abu Naser MasudMalardalen University
Media Attached File Attached
04:00 - 04:20
Talk
DLS 2020
Milod KazerounianUniversity of Maryland, College Park, Brianna M. RenUniversity of Maryland, Jeffrey S. FosterTufts University
Link to publication DOI Pre-print Media Attached