A type system with subtyping for WebAssembly’s stack polymorphism

dc.contributorReykjavik Universityen_US
dc.contributorHáskólinn í Reykjavíken_US
dc.contributor.authorMcDermott, Dylan
dc.contributor.authorMorita, Yasuaki
dc.contributor.authorUustalu, Tarmo
dc.contributor.departmentDepartment of Computer Science (RU)en_US
dc.contributor.departmentTölvunarfræðideild (HR)en_US
dc.contributor.schoolSchool of Technology (RU)en_US
dc.contributor.schoolTæknisvið (HR)en_US
dc.date.accessioned2023-02-21T13:57:37Z
dc.date.available2023-02-21T13:57:37Z
dc.date.issued2022-10-03
dc.descriptionPost-print (lokagerð höfundar)is
dc.description.abstractWe propose a new type system for WebAssembly. It is a refinement of the type system from the language specification and is based on type qualifiers and subtyping. In the WebAssembly specification, a typable instruction sequence gets many different types, depending in particular on whether it contains instructions such as br (unconditional branch) that are stack-polymorphic in an unusual way. But one cannot single out a canonical type for a typable instruction sequence satisfactorily. We introduce qualifiers on code types to distinguish between the two flavors of stack polymorphism that occur in WebAssembly and a subtyping relation on such qualified types. Our type system gives every typable instruction sequence a canonical type that is principal. We show that the new type system is in a precise relationship to the type system given in the WebAssembly specification. In addition, we describe a typed functional-style big-step semantics based on this new type system underpinned by an indexed graded monad and prove that it prevents stack-manipulation related runtime errors. We have formalized our type system, inference algorithm, and semantics in Agda.en_US
dc.description.sponsorshipThis work was supported by the Icelandic Research Fund grant no. 196323-053.en_US
dc.description.versionPeer reviewed (ritrýnd grein)en_US
dc.format.extent305-323en_US
dc.identifier.citationD. McDermott, Y. Morita, T. Uustalu. A type system with subtyping for WebAssembly's stack polymorphism. In H. Seidl, Z. Liu, C. S. Pasareanu, eds., Theoretical Aspects of Computing – ICTAC 2022: 19th International Colloquium, Tbilisi, Georgia, September 27-29, 2022, Proceedings, Lecture Notes in Computer Science, v. 13572, pp. 305-323. Springer, Cham, 2022. doi:10.1007/978-3-031-17715-6_20en_US
dc.identifier.doi10.1007/978-3-031-17715-6_20
dc.identifier.isbn9783031177149
dc.identifier.isbn9783031177156
dc.identifier.issn0302-9743
dc.identifier.issn1611-3349
dc.identifier.journalTheoretical Aspects of Computing – ICTAC 2022: 19th International Colloquium, Tbilisi, Georgia, September 27-29, 2022, Proceedingsen_US
dc.identifier.urihttps://hdl.handle.net/20.500.11815/4017
dc.language.isoenen_US
dc.publisherSpringeren_US
dc.relation.ispartofseriesLecture Notes in Computer Science;13572
dc.relation.urlhttps://link.springer.com/content/pdf/10.1007/978-3-031-17715-6_20en_US
dc.rightsinfo:eu-repo/semantics/embargoedAccessen_US
dc.subjectProgramming languages (Electronic computers)en_US
dc.subjectSemanticsen_US
dc.subjectReasoningen_US
dc.subjectAlgorithmsen_US
dc.subjectForritunarmálen_US
dc.subjectMerkingarfræðien_US
dc.subjectRökfræðien_US
dc.subjectReikniriten_US
dc.titleA type system with subtyping for WebAssembly’s stack polymorphismen_US
dc.typeinfo:eu-repo/semantics/bookParten_US

Skrár

Original bundle

Niðurstöður 1 - 1 af 1
Hleð...
Thumbnail Image
Nafn:
mcdermott-morita-uustalu-opinvisindi.pdf
Stærð:
506.71 KB
Snið:
Adobe Portable Document Format
Description:
Post-print

Undirflokkur