Type safety analysis for dart

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

152 Downloads (Pure)


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.

Original languageEnglish
Title of host publicationDLS 2016 - Proceedings of the 12th Symposium on Dynamic Languages
EditorsRoberto Ierusalimschy
Number of pages12
PublisherAssociation for Computing Machinery
Publication date1 Nov 2016
ISBN (Print)978-1-4503-4445-6
ISBN (Electronic)9781450344456
Publication statusPublished - 1 Nov 2016
EventSPLASH 2016: Systems, Programming, and Applications - Amsterdam, Netherlands
Duration: 30 Oct 20164 Nov 2016


ConferenceSPLASH 2016
Internet address


  • Optional types
  • Static analysis
  • Type systems


Dive into the research topics of 'Type safety analysis for dart'. Together they form a unique fingerprint.

Cite this