DLS 2016
Tue 1 Nov 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Tue 1 Nov 2016 10:55 - 11:20 at Matterhorn 1 - Session 2 Chair(s): Gilad Bracha

Optional typing is traditionally viewed as a compromise between static and dynamic type checking, where code without type annotations is not checked until runtime. We demonstrate that optional type annotations in Dart programs can be integrated into a flow analysis to provide static type safety guarantees both for annotated and non-annotated parts of the code. We explore two approaches: one that uses type annotations for filtering, and one that uses them as specifications. What makes this particularly challenging for Dart is that its type system is unsound even for fully annotated code.
Experimental results show that the technique is remarkably effective, even without context sensitivity: 99.3% of all property lookup operations are reported type safe in a collection of benchmark programs.

Tue 1 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:10
Session 2DLS at Matterhorn 1
Chair(s): Gilad Bracha Google
10:30
25m
Talk
Type Unsoundness in Practice: An Empirical Study of Dart
DLS
Gianluca Mezzetti Aarhus University, Denmark, Anders Møller Aarhus University, Denmark, Fabio Strocco Aarhus University, Denmark
DOI
10:55
25m
Talk
Type Safety Analysis for Dart
DLS
Thomas S. Heinze Aarhus University, Denmark, Anders Møller Aarhus University, Denmark, Fabio Strocco Aarhus University, Denmark
DOI
11:20
25m
Talk
Precise and Scalable Static Analysis of jQuery using a Regular Expression Domain
DLS
Changhee Park KAIST, South Korea, Hyeonseung Im Kangwon National University, South Korea, Sukyoung Ryu KAIST, South Korea
DOI
11:45
25m
Talk
Just-in-Time Inheritance: A Dynamic and Implicit Multiple Inheritance Mechanism
DLS
Mattias De Wael Vrije Universiteit Brussel, Belgium, Janwillem Swalens Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel, Belgium
DOI Pre-print File Attached