跳到主要内容
文章

Java的安全未来

出版:2005年10月12日出版历史
跳过抽象节

摘要

未来是一个简单而优雅的抽象,它允许经常通过对顺序程序进行相对较小的重写来表达并发性。在没有副作用的情况下,future充当良性注释,标记潜在的并发代码区域。不幸的是,当计算像Java一样严重依赖于变异时,它的含义就不那么清晰了,并且失去了许多原本想要的简单性。本文探讨了安全的Java的未来。可以将安全期货视为方法调用上真正透明的注释,它指定了并发的机会。通过用未来的调用替换标准方法调用,可以使串行程序并发。最重要的是,即使程序的某些部分是并发执行的,并且可能确实对共享数据进行操作,但串行执行的外观仍然保持不变。因此,程序推理被简化了,因为序列程序中存在的数据依赖关系在使用安全未来增强的版本中不会被违反。除了提出安全未来的编程模型和API外,我们还形式化了必须满足的安全条件,以确保顺序Java程序与其未来命名的对等程序之间的等价性。还提供了详细的实施研究。我们的实现利用了诸如对象版本控制和任务撤销等技术来保证必要的安全条件。我们还对我们的实现进行了广泛的实验评估,以量化管理费用和限制。我们的实验表明,对于共享数据上变异率适中的程序,应用程序可以利用未来技术在不牺牲安全性的情况下利用并行性获利。

工具书类

  1. Aldrich,J.、Chambers,C.、Sirer,E.G.和Eggers,S.J.用于消除Java程序中不必要同步的静态分析。《国际静态分析研讨会论文集》(意大利威尼斯,9月),A.Cortesi和G.Filé,第1694卷,计算机科学讲稿。施普林格,1999年,第19-38页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  2. Aldrich,J.、Sirer,E.G.、Chambers,C.和Eggers,S.J.Java的全面同步消除。《计算机程序设计科学》47,2-3(2003),91-120。]]谷歌学者谷歌学者数字图书馆数字图书馆
  3. Alpern,B.、Attanasio,C.R.、Barton,J.J.、Cocchi,A.、Hummel,S.F.、Lieber,D.、Ngo,T.、Mergen,M.、Shepherd,J.C.和Smith,S.在爪哇实施Jalapeño。在OOPSLA’99{35}中,第314--324页谷歌学者谷歌学者数字图书馆数字图书馆
  4. Arnold,M.、Fink,S.J.、Grove,D.、Hind,M.和Sweeney,P.F.Jalapeño JVM中的自适应优化。《ACM面向对象编程系统、语言和应用会议论文集》(明尼苏达州明尼阿波利斯,10月)。ACM SIGPLAN通知35、10(2000年10月),第47-65页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  5. Bernstein,A.并行处理程序分析。IEEE计算机汇刊15,5(1966年10月),757--762。]]谷歌学者谷歌学者
  6. Blanchet,B.面向对象语言的Escape分析:对java的应用。在OOPSLA’99{35}中,第20-34页谷歌学者谷歌学者数字图书馆数字图书馆
  7. Bogda,J.和Hölzle,U。删除Java中不必要的同步。在OOPSLA’99{35}中,第35-46页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  8. Boyapati,C.、Lee,R.和Rinard,M.C.安全编程的所有权类型:防止数据竞争和死锁。《ACM面向对象编程系统、语言和应用会议论文集》(西雅图,华盛顿,11月)。ACM SIGPLAN通知37、11(2002年11月),第211至230页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  9. Burke,M.G.、Choi,J.-D.、Fink,S.J.、Grove,D.、Hind,M.、Sarkar,V.、Serrano,M.J.,Sreedhar,V.C.、Srinivasan,H.和Whaley,J.Java的Jalapeño动态优化编译器。《ACM爪哇格兰德会议记录》(加州旧金山,6月)。1999年,第129-141页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  10. Carey,M.J.、DeWitt,D.J.、Kant,C.和Naughton,J.F.关于OO7 OODBMS基准测试工作的状态报告。《面向对象编程系统、语言和应用ACM会议论文集》(俄勒冈州波特兰,10月)。ACM SIGPLAN通知29、10(1994年10月),第414--426页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  11. Carey,M.J.、DeWitt,D.J.和Naughton,J.F.《OO7基准》,载于《ACM国际数据管理会议记录》(华盛顿特区,5月)。ACM SIGMOD记录22,2(1993年6月),第12-21页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  12. Choi,J.-D.,Gupta,M.,Serrano,M.、Sreedhar,V.C.和Midkiff,S.Java的Escape分析。在OOPSLA’99{35}中,第1-19页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  13. Choi,J.-D.、Lee,K.、Loginov,A.、O’Callahan,R.、Sarkar,V.和Sridharan,M.为多线程面向对象程序进行高效而精确的数据竞赛检测。《ACM编程语言设计与实现会议论文集》(6月,德国柏林)。ACM SIGPLAN通知37、5(2002年5月),第258--269页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  14. Clarke,D.G.、Potter,J.M.和Noble,J.灵活别名保护的所有权类型。《ACM面向对象编程系统、语言和应用会议论文集》(加拿大温哥华,10月)。ACM SIGPLAN通知33、10(1998年10月),第48至64页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  15. Flanagan,C.和Felleisen,M.《未来的语义及其在程序优化中的应用》。《美国计算机学会编程语言原理研讨会会议记录》(加州旧金山,1月)。1995年,第209--220页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  16. Flanagan,C.和Felleisen,M.《未来的语义和应用程序》。J.功能。程序。9, 1 (2005), 1--31.]]谷歌学者谷歌学者数字图书馆数字图书馆
  17. Flanagan,C.和Freund,S.N.。Java基于类型的种族检测。《ACM编程语言设计与实现会议论文集》(加拿大温哥华,6月)。ACM SIGPLAN通知35,6(2000年6月),第219--232页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  18. Flanagan,C.和Freund,S.N.Atomizer:多线程程序的动态原子性检查器。《ACM编程语言原理研讨会会议记录》(意大利威尼斯,1月)。2004年,第256-267页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  19. Flanagan,C.和Qadeer,S.原子性类型。2003年ACM SIGPLAN语言设计和实现类型国际研讨会论文集(1月,路易斯安那州新奥尔良)。2003年,第1-12页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  20. 弗拉特,M.、克里希纳穆尔西,S.和费尔莱森,M.类和混合类。在第25届ACM SIGPLAN-SIGCT编程语言原理研讨会论文集上。ACM出版社,1998年,第171-183页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  21. Halstead,Jr.,R.H.Multilisp:并发符号计算语言。ACM事务处理。程序。语言系统。7、4(1985年10月),501-538。]]谷歌学者谷歌学者数字图书馆数字图书馆
  22. Harris,T.和Fraser,K.对轻量级事务的语言支持。《ACM面向对象编程系统、语言和应用会议论文集》(加利福尼亚州阿纳海姆,11月)。ACM SIGPLAN通知38、11(2003年11月),第388-402页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  23. Herlihy,M.、Luchangco,V.、Moir,M.和Scherer,III,W.N.用于动态大小数据结构的软件事务内存。《美国计算机学会分布式计算原理年度研讨会论文集》(7月,马萨诸塞州波士顿)。2003年,第92-101页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  24. Herlihy,M.P.和Moss,J.E.B.在多处理器上进行无锁垃圾收集。IEEE并行和分布式系统汇刊3,3(1992年5月),304--311。]]谷歌学者谷歌学者数字图书馆数字图书馆
  25. Hosking,A.L.和Moss,J.E.B.《持久编程语言的对象错误处理:性能评估》。《ACM面向对象编程系统、语言和应用会议论文集》(华盛顿特区,9月)。ACM SIGPLAN通知28、10(1993年10月),第288--303页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  26. Jensen,E.H.、Hagensen,G.W.和Broughton,J.M.共享内存多处理机中独占数据访问的新方法。劳伦斯·利弗莫尔国家实验室技术代表,1987年。]]谷歌学者谷歌学者
  27. JSR166:并发实用程序。http://java.sun.com/j2se/1.5.0/docs/guide/concurrency/。]]谷歌学者谷歌学者
  28. Katz,M.Paratran:用于并行执行方案的透明、基于事务的运行时机制。1989年,美国马萨诸塞州剑桥市麻省理工学院技术代表。]]谷歌学者谷歌学者数字图书馆数字图书馆
  29. Kelsey,R.、Clinger,W.D.和Rees,J.修订了关于算法语言方案的报告。ACM SIGPLAN通知33、9(1998年9月)、26——76。]]谷歌学者谷歌学者数字图书馆数字图书馆
  30. Kranz,D.、Halstead,Jr.、R.H.和Mohr,E.Mul-T:一种高性能并行Lisp。《美国计算机学会编程语言设计与实现会议论文集》(俄勒冈州波特兰,6月)。ACM SIGPLAN通知24、7(1989年7月),第81-90页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  31. Liskov,B.和Shrra,L.Promises:分布式系统中高效异步过程调用的语言支持。《美国计算机学会编程语言设计与实现会议论文集》(6月,佐治亚州亚特兰大)。ACM SIGPLAN通知23、7(1988年7月),第260-267页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  32. Mellor-Crummey,J.对具有嵌套fork-join并行性的程序的数据竞争进行实时检测。《ACM/IEEE超级计算会议论文集》(新墨西哥州阿尔伯克基,11月)。1991年,第24-33页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  33. Mohr,E.、Kranz,D.A.和Halstead,Jr.,R.H.懒惰任务创建:一种提高并行程序粒度的技术。《ACM Lisp和函数编程会议论文集》(法国尼斯,6月)。1990年,第185-197页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  34. O'Callahan,R.和Choi,J.-D.混合动态数据竞争检测。《ACM SIGPLAN并行编程原理与实践研讨会论文集》(加州圣地亚哥,6月)。2003年,第167-178页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  35. ACM面向对象编程系统、语言和应用会议记录(科罗拉多州丹佛,11月)。ACM SIGPLAN通知34、10(1999年10月)。]]谷歌学者谷歌学者
  36. Pratikakis,P.、Spacco,J.和Hicks,M.W.java期货的透明代理。《ACM面向对象编程系统、语言和应用会议论文集》(加拿大温哥华,10月)。ACM SIGPLAN通知39、10(2004年10月),第206-223页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  37. Rajwar,R.和Goodman,J.R.基于锁的程序的事务性无锁执行。《ACM编程语言和操作系统架构支持国际会议论文集》(加州圣何塞,10月)。ACM SIGPLAN通知37、10(2002年10月),第5-17页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  38. Rinard,M.C.、Scales,D.J.和Lam,M.S.Jade:一种用于并行编程的高级机器依赖语言。IEEE计算机26,6(1993),28--38。]]谷歌学者谷歌学者数字图书馆数字图书馆
  39. Savage,S.、Burrows,M.、Nelson,G.、Sobalvarro,P.和Anderson,T.橡皮擦:多线程程序的动态数据竞争检测器。ACM事务处理。计算。系统。第15、4页(1997年11月),第391--411页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  40. Shavit,N.和Touitou,D.软件事务内存。《分布式计算原理年度ACM研讨会论文集》(加拿大渥太华,8月)。1995年,第204-213页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  41. Smith,L.A.、Bull,J.M.和Obdrzálek,J.一个并行的Java Grande基准测试套件。在ACM/IEEE超级计算会议论文集(科罗拉多州丹佛,11月)。2001年,第8页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  42. Ungureanu,C.和Jagannathan,S.Java并发分析。《国际静态分析研讨会论文集》(加州圣巴巴拉,6月/7月),J.Palsberg,Ed.vol.1824,计算机科学讲稿。2000年,第413--432页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  43. von Praun,C.和Gross,T.R.目标种族检测。《ACM面向对象编程系统、语言和应用会议论文集》(佛罗里达州坦帕,10月)。ACM SIGPLAN通知36、11(2001年11月),第70-82页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  44. von Praun,C.和Gross,T.R.多线程面向对象程序的静态冲突分析。《美国计算机学会编程语言设计与实现会议论文集》(加州圣地亚哥,6月)。2003年,第115-128页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  45. Welc,A.、Jagannathan,S.和Hosking,A.L.并发对象的事务监控器。《面向对象编程欧洲会议论文集》(挪威奥斯陆,6月),M.Odersky,Ed.vol.3086,计算机科学讲稿。Springer-Verlag,2004年,第519-542页。]]谷歌学者谷歌学者

索引术语

  1. Java的安全未来

                建议

                评论

                登录选项

                检查您是否可以通过登录凭据或您的机构访问本文。

                登录

                完全访问权限

                • 发布于

                  封面图片ACM SIGPLAN注意事项
                  ACM SIGPLAN通知 第40卷第10期
                  第20届ACM SIGPLAN面向对象编程系统语言和应用年会会议记录
                  2005年10月
                  531页
                  国际标准编号:0362-1340
                  EISSN公司:1558-1160年
                  内政部:10.1145/1103845
                  问题目录

                  版权所有©2005 ACM

                  如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

                  出版商

                  计算机协会

                  美国纽约州纽约市

                  出版历史

                  • 出版:2005年10月12日

                  检查更新

                  限定符

                  • 文章

                PDF格式

                以PDF文件查看或下载。

                PDF格式

                电子阅读器

                使用eReader联机查看。

                电子阅读器