阿尔芒·纳瓦比;张湘玉;苏雷什·贾甘纳森 安全期货的相关性分析。 (英语) Zbl 1243.68144号 科学。计算。程序。 77,第6期,707-726(2012). 摘要:未来是一种众所周知的编程结构,用于将并发性引入顺序程序。注释为future的计算是异步执行的,并与其continuation并发运行。通常,期货不是透明的注释:具有期货的程序不需要产生与派生它的顺序程序相同的结果。安全的期货保证了一个未来的计划会产生与后续计划相同的结果。安全属性在语言中是微不足道的,没有副作用或例外。在存在允许表达非本地控制流的可变引用和语言抽象(如异常)的情况下,为了确保安全,要求未来命名的程序遵守程序的顺序对应项强加的控制和数据依赖。在本文中,我们给出了一个具有一级引用和例外的高阶函数语言的安全未来公式。通过阻止延续在其未来完成之前执行潜在的不安全操作,可以在运行时确保安全。为了实现更大的并发性,我们开发了一个静态分析和插装,并将插装程序的运行时行为形式化,这样,只要确定其操作是安全的,就可以在其未来完成之前继续进行。如果延续的操作不受其未来可能执行的操作的控制或数据依赖,则该操作是安全的。 MSC公司: 68甲19 其他编程范式(面向对象、顺序、并发、自动等) 68问题85 并发和分布式计算的模型和方法(进程代数、互模拟、转换网等) 关键词:并行编程;并行程序设计;安全期货;异常处理 软件:格雷斯;雾化器;Multilisp公司;要塞 PDF格式BibTeX公司 XML格式引用 \textit{A.Navabi}等人,科学。计算。程序。77,第6号,707--726(2012;Zbl 1243.68144) 全文: 内政部 参考文献: [1] E.Allan、D.Chase、V.L.J.Hallett、J.Maessen、S.Ryu、G.Steele、S.Tobin-Hochstadt,《堡垒语言规范1.0版》,技术代表,Sun Microsystems,Inc.,2008年5月。 [2] 伯杰,E.D。;Yang,T。;刘,T。;Novark,G.:Grace:c/c++的安全多线程编程,81-96(2009) [3] 小R.L.小西葫芦;Adve,V.S。;Dig,D。;Adve,S.V.公司。;休曼,S。;Komuravelli,R。;Overbey,J。;西蒙斯,P。;Sung,H。;Vakilian,M.:确定性并行Java的类型和效果系统,97-116(2009) [4] 查尔斯·P。;Grothoff,C。;萨拉斯瓦特,V。;多纳瓦,C。;基尔斯特拉,A。;Ebcioglu,K。;Von Praun,C。;Sarkar,V.:X10:非均匀集群计算的面向对象方法,519-538(2005) [5] Danaher,J。;李,I。;Leiserson,C.:《jcilk中的例外编程》,《计算机编程科学》63,第2期,第147-171页(2006年)·Zbl 1114.68023号 ·doi:10.1016/j.scico.2006.05.008 [6] De Boer,F.S。;克拉克,D。;Johnsen,E.B.:未来的完整指南,316-330(2007) [7] Feret,J.:移动系统的依赖性分析,314-330(2002)·Zbl 1077.68578号 [8] 弗拉纳根,C。;Felleisen,M.:《未来的语义和应用》,《函数编程杂志》9,第1期,第1-31页(1999年)·Zbl 0926.68075号 ·doi:10.1017/S095679689003329 [9] 弗拉纳根,C。;Freund,S.N.:Atomizer:多线程程序的动态原子性检查器,256-267(2004)·Zbl 1146.68350号 [10] 弗拉纳根,C。;Qadeer,S.:原子性类型,1-12(2003)·Zbl 1271.68086号 [11] Halstead,R.:Multilisp:并发符号计算语言,编程语言和系统上的ACM事务7,第4期,501-538(1985)·Zbl 0581.68037号 ·数字对象标识代码:10.1145/4472.4478 [12] 哈里斯·T。;Fraser,K.:轻量级事务的语言支持,388-402(2003) [13] Herlihy,M。;卢昌科,V。;莫尔,M。;Iii,N.S.W.:动态数据结构的软件事务性内存,92-101(2003) [14] Jones,N.D.:lambda表达式的流分析(初步版本),114-128(1981)·Zbl 0481.68027号 [15] JSR166:并发实用程序,2004年。http://java.sun.com/j2se/1.5.0/docs/guide/concurrency。 [16] Kranz,D。;小H·H·R。;Mohr,E.:Mul-T:一种高性能并行lisp,81-90(1989) [17] Liskov,B。;Shrra,L.:承诺:分布式系统中高效异步过程调用的语言支持,260-267(1988) [18] M.Might,T.Prabhu,《通过堆栈可达性对高阶程序进行跨过程依赖性分析》,载于《2009年方案与函数编程研讨会论文集》,Scheme 2009,美国马萨诸塞州波士顿,2009年8月。 [19] 莫尔,E。;Kranz,D。;Jr.,H.H.R.:懒惰任务创建:提高并行程序粒度的技术,185-1990(1990) [20] A.Navabi,S.Jagannathan,《非常安全的未来》,技术代表CSD TR#08-027,普渡大学计算机科学系,2008年10月。 [21] 纳瓦比,A。;张,X。;Jagannathan,S.:安全期货的准静态调度,23-32(2008) [22] Palsberg,J.:约束形式的闭包分析,编程语言和系统上的ACM事务17,No.1,47-62(1995) [23] Pratikakis,P。;斯帕科,J。;Hicks,M.:Java期货的透明代理,206-223(2004) [24] Rajwar,R。;Goodman,J.R.:基于锁的程序的事务无锁执行,5-17(2002) [25] 北沙维特。;Touitou,D.:软件事务存储器,204-213(1995)·兹比尔1373.68178 [26] O.Shivers,《高阶语言的控制流分析或驯服Lambda》,博士论文,卡内基梅隆大学,1991年5月。 [27] 韦尔奇,A。;Jagannathan,S。;Hosking,A.:并发对象的事务监控器,519-542(2004) [28] Welc,A。;Jagannathan,S。;Hosking,A.:爪哇的安全未来,435-439(2005) [29] 张,L。;Krintz,C。;Nagpurkar,P.:支持Java中期货的异常处理,175-184(2007) 此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。