跳到主要内容
10.1145/945445.945468高级会议文章/章节视图摘要出版物页面硫酸钠会议记录会议集合
第条

RacerX:有效、静态地检测竞争条件和死锁

出版:2003年10月19日出版历史

摘要

本文介绍了RacerX,这是一个静态工具,它使用流敏感的过程间分析来检测竞争条件和死锁。它被明确设计为在大型、复杂的多线程系统中查找错误。它积极推断检查信息,例如哪些锁保护哪些操作,哪些代码上下文是多线程的,以及哪些共享访问是危险的。它跟踪一组代码特性,用于对严重程度从高到低的错误进行排序。它使用新颖的技术来应对分析错误的影响。该工具速度很快,需要2-14分钟来分析180万线系统。我们已经将其应用于Linux、FreeBSD和大型商业代码库,发现所有代码中都存在严重错误。RacerX是一个静态工具,它使用流敏感的过程间分析来检测竞争条件和死锁。它使用新的策略推断检查信息,例如哪些锁保护哪些操作,哪些代码上下文是多线程的,以及哪些共享访问是危险的。我们将其应用于FreeBSD、Linux和一个大型商业代码库,发现其中都存在严重错误。

参考文献

  1. C.Boyapati、R.Lee和M.Rinard。安全编程的所有权类型:防止数据竞争和死锁。《面向对象编程、系统、语言和应用(OOPSLA)》,2002年11月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  2. G.Brat、K.Havelund、S.Park和W.Visser。模型检查程序。在2000年IEEE自动化软件工程国际会议(ASE)上。]]谷歌学者谷歌学者数字图书馆数字图书馆
  3. M.Burrows和K.Leino。发现并发程序中的过时值错误。技术报告SRC-TN-2002-004,康柏系统研究中心,2002年5月。]]谷歌学者谷歌学者
  4. W.Bush、J.Pincus和D.Sielaff。用于查找动态编程错误的静态分析器。软件:实践与经验,30(7):775--8022000。]]谷歌学者谷歌学者数字图书馆数字图书馆
  5. S.Chandra、B.Richards和J.Larus。茶壶:用于编写缓存一致性协议的特定于域的语言。IEEE软件工程学报,25(3):317--331999年5月-6月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  6. Cheng、Feng、Leiserson、Randall和Stark。检测使用锁的cilk程序中的数据竞争。SPAA:1998年ACM并行算法和体系结构年度研讨会。]]谷歌学者谷歌学者数字图书馆数字图书馆
  7. J.Choi、K.Lee、A.Loginov、R.O'Callahan、V.Sarkar和M.Sridharan。多线程面向对象程序的高效和精确的数据竞争检测。在2002年ACM SIGPLAN编程语言设计与实现会议记录中。]]谷歌学者谷歌学者数字图书馆数字图书馆
  8. E.Clarke、O.Grumberg和D.Peled。模型检查。麻省理工学院出版社,1999年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  9. J.科贝特。评估并发软件的死锁检测方法。IEEE软件工程学报,22(3),1996年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  10. J.Corbett、M.Dwyer、J.Hatcliff、S.Laubach、C.Pasareanu、Robby和H.Zheng。Bandera:从java源代码中提取有限状态模型。在2000年ICSE中。]]谷歌学者谷歌学者数字图书馆数字图书馆
  11. M.Das、S.Lerner和M.Seigle。多项式时间内的路径敏感程序验证。2002年6月于德国柏林举行的ACM SIGPLAN 2002编程语言设计与实现会议记录。]]谷歌学者谷歌学者数字图书馆数字图书馆
  12. D.Detlefs、K.R.M.Leino、G.Nelson和J.Saxe。扩展静态检查。TR SRC-159,COMPAQ SRC,1998年12月。]]谷歌学者谷歌学者
  13. A.Dinning和E.Schonberg。访问异常检测监控算法的经验比较。1990年第二届ACM SIGPLAN并行编程原理与实践研讨会论文集。]]谷歌学者谷歌学者数字图书馆数字图书馆
  14. D.Engler、D.Chen、S.Hallem、A.Chou和B.Chelf。错误作为异常行为:推断系统代码中错误的一般方法。2001年第十八届ACM操作系统原理研讨会论文集。]]谷歌学者谷歌学者数字图书馆数字图书馆
  15. C.Flanagan和S.N.Freund。Java的基于类型的竞赛检测。在SIGPLAN编程语言设计与实现会议上,第219--2322000页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  16. C.弗拉纳根和K.莱诺。胡迪尼是ESC/Java的注释助手。在欧洲形式方法研讨会上,第500-517页,2001年3月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  17. D.Freedman、R.Pisani和R.Purves。统计。W.W.Norton,第三版,1998年。]]谷歌学者谷歌学者
  18. J.Gosling、B.Joy、G.Steele和G.Bracha。Java语言规范(第2版)。Addison-Wesley,2000年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  19. D.格罗斯曼。旋风分离器中的类型安全多线程。2003年1月,语言设计与实现(TLDI)类型研讨会。]]谷歌学者谷歌学者数字图书馆数字图书馆
  20. S.Hallem、B.Chelf、Y.Xie和D.Engler。用于建筑系统特定静态分析的系统和语言。2002年6月于德国柏林举行的ACM SIGPLAN 2002编程语言设计与实现会议记录。]]谷歌学者谷歌学者数字图书馆数字图书馆
  21. D.P.Helmbold和C.E.McDowell。种族检测算法的分类。技术报告UCSC-CRL-94-351994年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  22. L.Lamport。分布式系统中的时间、时钟和事件顺序。ACM委员会,21(7):558-5651978年7月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  23. B.W.Lampson和D.D.Redell。具有台中流程和监控器的经验。Commun公司。ACM,23(2):105--116,1980年2月。]]谷歌学者谷歌学者数字图书馆数字图书馆
  24. K.M.Leino、G.Nelson和J.Saxe。ESC/Java用户手册。技术说明2000-002,康柏系统研究中心,2001年10月。]]谷歌学者谷歌学者
  25. J.梅勒·库梅伊。对具有嵌套fork-join并行性的程序的数据竞争进行实时检测。《1991年超级计算机调试研讨会论文集》,1991年。]]谷歌学者谷歌学者数字图书馆数字图书馆
  26. A.莫顿。个人沟通。Linux BKL的语义和死锁含义,2003年2月。]]谷歌学者谷歌学者
  27. D.Perkovic和P.Keleher。通过一致性保证进行在线数据空间检测。1996年第二届USENIX操作系统设计与实现研讨会论文集。]]谷歌学者谷歌学者数字图书馆数字图书馆
  28. T.Reps、S.Horowitz和M.Sagiv。通过图形可达性进行精确的过程间数据流分析。1995年第22届程序设计语言原理年度研讨会论文集,第49-61页。]]谷歌学者谷歌学者数字图书馆数字图书馆
  29. S.Savage、M.Burrows、G.Nelson、P.Sobalvarro和T.Anderson。橡皮擦:用于多线程编程的动态数据竞争检测器。美国计算机学会计算机系统学报,15(4):391--411997。]]谷歌学者谷歌学者数字图书馆数字图书馆
  30. N.斯特林。Warlock:一个静态数据竞赛分析工具。《1993年USENIX冬季技术会议记录》,第97-106页,1993年。]]谷歌学者谷歌学者

索引术语

  1. RacerX:有效、静态地检测竞争条件和死锁

                建议

                评论

                登录选项

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

                登录

                完全访问权限

                • 发布于

                  封面图片ACM会议
                  SOSP’03:第十九届ACM操作系统原理研讨会会议记录
                  2003年10月
                  338页
                  国际标准图书编号:1581137575
                  内政部:10.1145/945445
                  • 封面图片ACM SIGOPS操作系统评论
                    ACM SIGOPS操作系统审查 第37卷第5期
                    2003年标准操作规程
                    2003年12月
                    329页
                    国际标准编号:0163-5980
                    内政部:10.1145/1165389
                    期刊目录

                  版权所有©2003 ACM

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

                  出版商

                  计算机协会

                  美国纽约州纽约市

                  出版历史

                  • 出版:2003年10月19日

                  权限

                  请求有关此文章的权限。

                  请求权限

                  检查更新

                  限定符

                  • 第条

                  接受率

                  2003年标准操作规程纸张接受率22属于128提交文件,17%总体验收率131属于716提交文件,18%

                  即将召开的会议

                  SOSP’24
                  ACM SIGOPS第29届操作系统原理研讨会
                  2024年11月5日至8日
                  奥斯汀,德克萨斯州,美国

                PDF格式

                以PDF文件查看或下载。

                PDF格式

                电子阅读器

                使用eReader联机查看。

                电子阅读器