2016
DOI: 10.1145/3093334.2989226
|View full text |Cite
|
Sign up to set email alerts
|

Type safety analysis for Dart

Abstract: 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 challeng… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2017
2017
2019
2019

Publication Types

Select...
2

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(2 citation statements)
references
References 23 publications
0
2
0
Order By: Relevance
“…We have two categories of type inference: static and dynamic. Static type inference includes the inference tool for Python by Hassan et al [2018], and the inference tool for Dart by Heinze et al [2016]. Some approaches to type inference add types for the purpose of program understanding but without a guarantee that the resulting program type checks.…”
Section: Related Workmentioning
confidence: 99%
“…We have two categories of type inference: static and dynamic. Static type inference includes the inference tool for Python by Hassan et al [2018], and the inference tool for Dart by Heinze et al [2016]. Some approaches to type inference add types for the purpose of program understanding but without a guarantee that the resulting program type checks.…”
Section: Related Workmentioning
confidence: 99%
“…But we have enough anecdotal evidence from developers at Facebook that focusing on soundness is not only useful but also desirable, and does not necessarily imply inconvenience. Similar to Safe TypeScript, recent work recovers soundness in Dart [Heinze et al 2016]. Closure [2009] is another widely used type system for JavaScript that focuses on transforming code for size reduction.…”
Section: Mainstream Type Systems For Dynamic Languagesmentioning
confidence: 99%