×

对标准ML程序中未捕获异常的经济高效的估计。 (英语) Zbl 0996.68029号

摘要:我们提供了一个静态分析,用于检测在标准ML(SML)程序中引发且从未处理过的潜在运行时异常。该分析将预测SML程序的突然终止,这是SML唯一的“安全漏洞”。尽管SML程序的控制流和异常流通常是相互依赖的,但对这两个流的分析是安全解耦的。首先通过调用表达式的简单实例分析来估计程序的控制流。使用这个调用图信息,程序的异常流被导出为集合约束,其最小模型是我们的分析结果。这两种分析都被证明是安全的,并讨论了每个设计决策背后的原因。我们对该分析的实现已应用于实际的SML程序,并显示出良好的成本-准确性性能。例如,对于ML-Lex程序,分析需要1.36秒,它报告了3个可能发生的异常,这些异常正是真正可以避免的异常。我们的最终目标是使分析开销小于编译时间的10%(编译ML-Lex需要6-7秒),并隔离分析模块。

MSC公司:

68号01 软件理论的一般主题
68甲15 编程语言理论

关键词:

SML项目

软件:

毫升
PDF格式BibTeX公司 XML格式引用
全文: DOI程序

参考文献:

[1] A.Aiken,N.Heintze,基于约束的程序分析,ACM Symp.教程。《程序设计语言原理》,1995年1月。;A.Aiken,N.Heintze,基于约束的程序分析,ACM Symp.教程。《程序设计语言原理》,1995年1月。
[2] 阿里安5号:501航班故障。http://www.esrin.esa.it/htdocs/tidc/Press/Press96/ariane5rep.html1996年7月。;阿里安5号:501航班故障。http://www.esrin.esa.it/htdocs/tidc/Press/Press96/ariane5rep.html1996年7月。
[3] P.Cousot,R.Cousot,抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型,ACM Symp。《程序设计语言原理》,1977年,第238-252页。;P.Cousot,R.Cousot:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型,ACM Symp。《编程语言原理》,1977年,第238-252页。
[4] P.Cousot,R.Cousot,不动点、等式、约束、闭合条件、基于规则和游戏理论形式的合成和归纳语义定义,Proc。第七届国际。计算机辅助验证会议,计算机科学讲稿,第939卷,施普林格,柏林,1995年,第293-308页。;P.Cousot,R.Cousot,不动点、等式、约束、闭合条件、基于规则和游戏理论形式的合成和归纳语义定义,Proc。第七届国际。计算机辅助验证会议,计算机科学讲稿,第939卷,施普林格,柏林,1995年,第293-308页。
[5] M.Fahndrich,A.Aiken,《制定集约束程序分析量表》,集约束研讨会,1996年8月。;M.Fahndrich,A.Aiken,《制定集约束程序分析量表》,集约束研讨会,1996年8月。
[6] N.Heintze,基于集合的程序分析,卡内基梅隆大学博士论文,1992年10月。;N.Heintze,基于集合的程序分析,卡内基梅隆大学博士论文,1992年10月。
[7] N.Heintze,基于集合的ML程序分析,技术报告CMU-CS-93-193,卡内基梅隆大学,1993年7月。;N.Heintze,基于集合的ML程序分析,技术报告CMU-CS-93-193,卡内基梅隆大学,1993年7月。
[8] N.Heintze,J.Jaffar,一类集合约束的决策程序,技术报告CMU-CS-91-110,卡内基梅隆大学,1991年2月。;N.Heintze,J.Jaffar,一类集合约束的决策程序,技术报告CMU-CS-91-110,卡内基梅隆大学,1991年2月。
[9] N.Heintze,D.McAllester,线性时间次传递控制流分析,Proc。SIGPLAN编程语言设计与实现会议,1997年6月,第261-272页。;N.Heintze,D.McAllester,线性时间次传递控制流分析,Proc。SIGPLAN编程语言设计与实现会议,1997年6月,第261-272页。
[10] S.Jagannathan,A.Wright,流定向内联,Proc。SIGPLAN编程语言设计与实现会议,1996年5月,第193-205页。;S.Jagannathan,A.Wright,流定向内联,Proc。SIGPLAN编程语言设计与实现会议,1996年5月,第193-205页。
[11] S.Jagannathan,S.Weeks,A.Wright,类型化中间语言的类型定向流分析,Proc。第四国际。静态分析Symp。,计算机科学课堂讲稿,第1302卷,施普林格,柏林,1997年,第232-249页。;S.Jagannathan,S.Weeks,A.Wright,类型化中间语言的类型定向流分析,Proc。第四国际。静态分析Symp。,《计算机科学讲义》,第1302卷,施普林格,柏林,1997年,第232-249页。
[12] Milner,R.,《编程中的类型多态性理论》,J.Compute。系统科学。,17, 348-375 (1978) ·Zbl 0388.68003号
[13] 米尔纳,R。;托夫特,M。;哈珀,R。;MacQueen,D.,《标准ML的定义(修订版)》(1997),麻省理工学院出版社:麻省理学院出版社,马萨诸塞州剑桥
[14] Palsberg,J。;Schwartzbach,M.I.,《安全分析与类型推断》,Inform。和计算。,118, 1, 128-141 (1992) ·Zbl 0941.68831号
[15] E.Ruf,使用类型划分数据流分析,ACM Symp。《程序设计语言原理》,1997年1月,第15-26页。;E.Ruf,使用类型进行分区数据流分析,ACM Symp。《程序设计语言原理》,1997年1月,第15-26页。
[16] O.Shivers,高阶语言的控制流分析,卡内基梅隆大学博士论文,1991年5月,技术报告,CMU-CS-91-145。;O.Shivers,高阶语言的控制流分析,卡内基梅隆大学博士论文,1991年5月,技术报告,CMU-CS-91-145。
[17] Stoy,J.E.,《指称语义学:编程语言理论的Scott-Strachey方法》(1977年),麻省理工学院出版社:麻省理学院出版社剑桥·Zbl 0503.68059号
[18] 唐永明,P.Jouvelot,控制流分析的单独抽象解释,Proc。理论方面计算。科学。,《计算机科学讲义》,第789卷,柏林斯普林格出版社,1994年,第224-243页。;唐永明,P.Jouvelot,控制流分析的单独抽象解释,Proc。理论方面计算。科学。,《计算机科学讲义》,第789卷,柏林斯普林格出版社,1994年,第224-243页·Zbl 0942.68624号
[19] Tofte,M.,多态引用的类型推断,Inform。和计算。,89, 1-34 (1990) ·Zbl 0705.68028号
[20] K.Yi,标准ML程序未捕获异常的编译时检测,Proc。第一国际。静态分析Symp。,《计算机科学讲义》,第864卷,柏林施普林格出版社,1994年,第238-254页。;K.Yi,标准ML程序未捕获异常的编译时检测,Proc。第一国际。静态分析Symp。,《计算机科学讲义》,第864卷,柏林斯普林格出版社,1994年,第238-254页。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。