×

使用类型系统进行程序和验证优化。 (英语) Zbl 1151.68008号

摘要:我们演示了一种将基于数据流分析的程序优化描述为具有转换组件的组合类型系统的方法。分析结果按表达式和语句的类型显示,可通过类型派生进行验证,转换组件执行类型派生许可的优化。我们描述了死代码消除和公共子表达式消除。在公共子表达式消除的情况下,我们使用组合类型系统来规避两种分析的组合的非组合性。这项工作的动机在于认证代码应用程序,其中程序的优化必须由可检查的理由支持。作为一个示例应用程序,我们强调了“证明优化”,即基于分析类型推导,将程序的功能正确性证明与程序一起进行机械转换。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)

软件:

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

参考文献:

[1] 艾伯特·E。;普埃布拉,G。;Hermenegildo,M.V.,《携带抽象代码》(Baader,F.;Voronkov,A.),《第11届国际编程逻辑大会议事录》,Artif.Intell.and Reasoning,LPAR 2004。程序。第11届国际编程逻辑大会。智力。和推理,LPAR 2004,Lect。Artif注释。智力。,第3452卷(2005),施普林格-弗拉格),380-397·兹比尔1108.68484
[2] D.Aspinall,L.Beringer,A.Momigliano,优化验证,摘自:J.Knoop,G.C.Necula,W.Zimmermann(编辑),Proc。第五国际工程公司。编译器优化符合编译器验证,COCV 2006,Electron。Theor中的注释。计算。科学。,第176(3)卷,爱思唯尔,2007年,第37-59页。;D.Aspinall,L.Beringer,A.Momigliano,优化验证,摘自:J.Knoop,G.C.Necula,W.Zimmermann(编辑),Proc。第五国际工程公司。编译器优化符合编译器验证,COCV 2006,Electron。Theor中的注释。计算。科学。,第176(3)卷,爱思唯尔,2007年,第37-59页。
[3] Barthe,G。;格雷戈里,B。;昆兹,C。;Rezk,T.,优化编译器的证书翻译(扩展摘要),(Yi,K.,第13届国际静态分析研讨会论文集,SAS 2006。程序。第十三国际交响乐团。静态分析,SAS 2006,Lect。计算中的注释。科学。,第4134卷(2006),施普林格-弗拉格),301-317·Zbl 1225.68062号
[4] Benton,N.,《静态分析和程序转换的简单关系正确性证明》,(第31届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2004(2004),ACM出版社),14-25·Zbl 1325.68057号
[5] 贝林格,L。;霍夫曼,M。;莫米利亚诺,A。;Shkaravska,O.,堆消耗的自动认证,(Baader,F.;Voronkov,A.,第11届国际编程、人工智能和推理逻辑大会,LPAR 2004。程序。第11届国际编程、人工智能和推理逻辑大会,LPAR 2004,Lect。Artif注释。智力。,第3452卷(2005),施普林格·弗拉格),347-362·Zbl 1108.68374号
[6] Bertot,Y。;格雷戈里,B。;Leroy,X.,《基于数据流分析证明编译器优化的结构化方法》,(Filliátre,J.-C.;Paulin-Mohring,C.;Werner,B.,《第一国际Wksh关于证明和程序类型的修订论文选集》,Types 2004。修订了第一届国际工作会议论文集。关于证明和程序的类型,Types 2004,Lect。计算中的注释。科学。,第3839卷(2006年),斯普林格-Verlag),66-81·兹比尔1172.68414
[7] 贝松,F。;Jensen,T。;Pichardie,D.,从认证的抽象解释和不动点压缩证明码,Theor。计算。科学。,36273-291(2006年)·Zbl 1153.68354号
[8] Cachera,D。;Jensen,T。;Pichardie博士。;Schneider,G.,《认证内存使用分析》,(Fitzgerald,J.S.;Hayes,I.J.;Tarlecki,A.,《2005年欧洲形式方法交响曲汇编》,FM 2005。程序。2005年交响乐团。欧洲形式方法,FM 2005,Lect。计算中的注释。科学。,第3582卷(2005),斯普林格·弗拉格),91-106·兹比尔1120.68385
[9] 弗雷德,M.J。;Saabas,A。;Uustalu,T.,数据流分析基础认证,(IEEE和IFIP第一届国际软件工程理论研讨会论文集,TASE 2007(2007),IEEE CS出版社),107-116
[10] 霍尔,C.A.R.,《计算机编程的公理基础》,Commun。美国医学会,12576-583(1969)·Zbl 0179.23105号
[11] 亨特,S。;Sands,D.,《关于流敏感安全类型》,(第33届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL 2006(2006),ACM出版社),79-90·兹比尔1370.68053
[12] 莱西,D。;琼斯,N.D。;Van Wyk,E。;Frederiksen,C.C.,通过时序逻辑、高阶和Symb证明编译器优化的正确性。计算。,17, 3, 173-206 (2004) ·Zbl 1075.68015号
[13] 劳德·P。;乌斯塔鲁,T。;Vene,V.,类型系统相当于命令式语言的数据流分析,Theor。计算。科学。,364, 3, 292-310 (2006) ·Zbl 1153.68351号
[14] 勒纳,S。;米尔斯坦,T。;Chambers,C.,自动证明编译器优化的正确性,(Proc.ACM SIGPLAN 2003 Conf.Programming Language Design and Implementation,PLDI 2003(2003),ACM Press),220-231
[15] Necula,G.C.,优化编译器的翻译验证,(Proc.2000 ACM SIGPLAN Conf.Programming Language Design and Implementation,PLDI 2000[=SIGPLAN Notices)35(5) ](2000),ACM出版社),83-94
[16] 尼尔森,F。;尼尔森,H.R。;Hankin,C.,《程序分析原理》(1999),Springer-Verlag·兹比尔0932.68013
[17] 尼尔森,H.R。;Nielson,F.,《流逻辑:静态分析的多范式方法》,(Mogensen,T.Æ.;Schmidt,D.a.;Sudborough,I.H.,《计算的本质、复杂性、分析、转换》,《计算科学的本质》,第2566卷(2002),Springer-Verlag),223-244·Zbl 1026.68029号
[18] 萨巴斯,A。;Uustalu,T.,《低级语言的组合自然语义和Hoare逻辑》,Theor。计算。科学。,373, 3, 273-302 (2007) ·Zbl 1111.68071号
[19] A.Saabas,T.Uustalu,基于堆栈的低级语言的组合类型系统,收录于B.Jay,J.Gudmundssson(编辑),Proc。第12届计算机:澳大利亚理论交响乐团。,CATS 2006,会议。信息研究与实践。澳大利亚计算机技术。Soc.,第51卷,2006年,27-39。;A.Saabas,T.Uustalu,基于堆栈的低级语言的组合类型系统,收录于B.Jay,J.Gudmundssson(编辑),Proc。第12届计算机:澳大利亚理论交响乐团。,CATS 2006,会议。信息研究与实践。技术,澳大利亚计算。Soc.,第51卷,2006年,27-39·Zbl 1273.68215号
[20] A.Saabas,T.Uustalu,优化基于堆栈的代码的类型系统,见:M.Huisman,F.Spoto(编辑),Proc。第2周。字节码语义,验证,分析和转换,Bytecode 2007,Electron。Theor中的注释。计算。科学。,第190卷(1),2007年,第103-119页。;A.Saabas,T.Uustalu,优化基于堆栈的代码的类型系统,见:M.Huisman,F.Spoto(编辑),Proc。第2周。字节码语义,验证,分析和转换,Bytecode 2007,Electron。Theor中的注释。计算。科学。,第190(1)卷,2007年,103-119·Zbl 1111.68071号
[21] Saabas,A。;Uustalu,T.,《部分冗余消除的证明优化》(Proc.2008 ACM SIGPLAN Wksh.partial Evaluation and Semantics-Based Program Manipulation,PEPM 2008(2008),ACM Press),91-101
[22] Stata,R。;Abadi,M.,Java字节码子程序的类型系统,ACM Trans。程序。语言系统。,21, 1, 90-137 (1999)
[23] 沃尔帕诺,D。;史密斯,G。;Irvine,C.,《安全流量分析的声音类型系统》,J.Compute。第4、2-3、167-188节(1996年)
[24] Zuck,L。;普努利,A。;方,Y。;Goldberg,B.,《VOC:优化编译器的翻译验证方法》,J.Univ.Comput。科学。,9, 3, 223-247 (2003)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。