×

为WebAssembly的堆栈多态性提供子类型的类型系统。 (英语) Zbl 07719839号

Seidl,Helmut(编辑)等人,《计算的理论方面——ICTAC 2022》。第19届国际学术讨论会,格鲁吉亚第比利斯,2022年9月27日至29日。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。13572, 305-323 (2022).
摘要:我们提出了一种新型的WebAssembly系统。它是对语言规范中的类型系统的细化,基于类型限定符和子类型。在WebAssembly规范中,典型的指令序列有许多不同的类型,具体取决于它是否包含以下指令br个(无条件分支)以不寻常的方式进行堆栈多态性。但是,不能令人满意地为典型的指令序列挑选出规范类型。我们在代码类型上引入了限定符,以区分WebAssembly中出现的两种类型的堆栈多态性和此类限定类型上的子类型关系。我们的类型系统为每个典型的指令序列提供了一个规范类型,即主体类型。我们表明,新的类型系统与WebAssembly规范中给出的类型系统有着精确的关系。此外,我们描述了基于这种新类型系统的类型化函数式大步语义,该系统由索引分级单体支撑,并证明它可以防止与堆栈操作相关的运行时错误。我们已经在Agda中形式化了我们的类型系统、推理算法和语义。
关于整个系列,请参见[Zbl 1515.68046号].

MSC公司:

68季度xx 计算理论

软件:

TALx86
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 查普曼,J。;乌斯塔鲁,T。;Veltri,N.,用弱双相似性对延迟单数进行商,数学。结构。计算。科学。,29, 1, 67-92 (2019) ·Zbl 1407.68306号 ·doi:10.1017/s0960129517000184
[2] Haas,A.、Rossberg,A.、Schuff,D.L.、Titzer,B.L.、Holman,M.、Gohman,D.、Wagner,L.、Zakai,A.和Bastien,J.F.:通过WebAssembly加快网络速度。In:程序。第38届ACM SIGPLAN编程语言设计与实现大会,PLDI 2017,第185-200页。ACM出版社,纽约(2017年)。数字对象标识代码:10.1145/3062341.3062363
[3] Huang,X.:Coq中WebAssembly规范的机械化形式化。罗彻斯特理工学院硕士论文(2019)。https://www.cs.rit.edu/mtf/学生资源/20191_huang_mscourse.pdf
[4] 胜胜:参数效应单子和效应系统的语义。摘自:第41届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2014,第633-645页。ACM出版社,纽约(2014)。doi:10.1145/2535838.2535846·Zbl 1284.68133号
[5] Melliès,P.A.:参数单体和丰富的附加词。手稿(2012)。网址:https://www.irif.fr/mellies/张量逻辑/8-参数模态和丰富的附加函数.pdf
[6] 莫里塞特,G。;克雷利(Crary,K.)。;格鲁,N。;Walker,D.,基于堆栈的类型化汇编语言,J.Funct。程序。,13, 5, 957-959 (2003) ·Zbl 1110.68361号 ·doi:10.1017/s0956796801004178
[7] Nakata,K。;乌斯塔鲁,T。;Berghofer,S。;Nipkow,T。;城市,C。;Wenzel,M.,《While的基于迹的共推操作语义,高阶逻辑中的定理证明》,375-390(2009),海德堡:斯普林格·Zbl 1252.68056号 ·doi:10.1007/978-3642-03359-9_26
[8] Nivat,M.,Perrot,J.F.:自行车运动的非道德化。Comptes Rendus学院。科学。Ser.巴黎。A 271824-827(1970年)。https://gallica.bnf.fr/ark:/12148/bpt6k480299v/f830 ·Zbl 0206.30304号
[9] Pöial,J.:Forth-程序堆叠效果的代数规范。1990年FORML会议记录,第282-290页。第四利益集团(1991年)。https://www.kodu.ee/jpoial/teadus/EuroForth90_代数.pdf
[10] Rossberg,A.:WebAssembly核心规范,1.1版。编辑草稿,2021年12月18日(2021年)。https://webassembly.github.io/spec/core网站/
[11] Smirnov,A.,分次单元和多项式环,数学杂志。科学。,151, 3, 3032-3051 (2008) ·Zbl 1288.18009号 ·doi:10.1007/s10958-008-9013-7
[12] Stiévenart,Q.,De Roover,C.:WebAssembly程序的组合信息流分析。在:IEEE第20届源代码分析和操作国际工作会议论文集,SCAM 2020,第13-24页。IEEE,洛斯阿拉米托斯(2020)。doi:10.1109/scam51674.2020.00007
[13] 斯托达特,B。;Knaggs,PJ,基于堆栈的语言中的类型推理,形式方面计算。,5, 4, 289-298 (1993) ·Zbl 0774.68022号 ·doi:10.1007/bf01212404
[14] W3C:WebAssembly核心规范,版本1.0。W3C建议书,2019年12月5日(2019年)。https://www.w3.org/TR/wasm-core-1
[15] Watt,C.:机械化和验证WebAssembly规范。摘自:第七届ACM SIGPLAN认证课程和证明国际会议记录,CPP 2018,第53-65页。ACM出版社,纽约(2018年)。doi:10.1145/3167082
[16] Watt,C.,Maksimovic,P.,Krishnaswami,N.R.,Gardner,P.:一阶封装WebAssembly的程序逻辑。摘自:Donaldson,A.F.(编辑)《第33届欧洲面向对象编程会议论文集》,ECOOP 2019,莱布尼茨国际信息会议论文集,第134卷,第9:1-9:30页。Dagstuhl Publishing,Saarbrücken/Wadern(2019)。doi:10.4230/lipics.ecoop.2019.9
[17] 瓦特,C。;Rao,X。;Pichon-Pharabod,J。;博丁,M。;加德纳,P。;Huisman,M。;帕斯勒诺,C。;Zhan,N.,《网络组装的两种机制1.0》,形式方法,61-79(2021),查姆:Springer,查姆·doi:10.1007/978-3-030-90870-64
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。