10.1145/1508244.1508249acm会议文章/章节视图摘要出版物页面阿斯普洛斯会议记录会议集合
研究论文

CTrigger:从隐藏位置暴露原子性违规错误

作者信息和声明
出版:2009年3月7日出版历史

摘要

多核硬件使并发程序变得无处不在。不幸的是,并发程序容易出现错误。在不同类型的并发错误中,原子性冲突错误是常见且重要的。现有的检测原子性违规bug的技术有一个局限性:要求bug在受监控的运行期间显示出来,这是并发程序测试中的一个公开问题。

本文有两个贡献。首先,它研究了并发程序测试(即反复运行程序)中常见实践的交错特性,以理解为什么原子性违规错误很难暴露。其次,它建议CTrigger有效地暴露大型程序中的原子违反错误。CTrigger专注于一种特殊类型的交织(即非序列化交织),这种交织与原子性违规bug有内在的关联,并使用跟踪分析系统地识别(可能)可行的、发生概率较低的非序列化交织。然后,CTrigger使用最小执行扰动来执行低概率交错,并暴露难以捕获的原子性冲突。

我们使用8核机器上的四个服务器/桌面应用程序(Apache、MySQL、Mozilla和PBZIP2)和三个SPLASH2应用程序的实际原子性违规错误来评估CTrigger。CTrigger可以在1-235秒内有效地暴露测试的错误,比压力测试快两到四个数量级。如果没有CTrigger,即使经过7天的压力测试,其中一些错误也不会出现。此外,如果没有确定性重播支持,一旦错误被暴露,CTrigger可以帮助程序员可靠地重现它以进行诊断。CTrigger可以在5秒内重现我们测试过的错误,比压力测试快300到60000倍。

工具书类

  1. P.Barford和M.Crovella。为网络和服务器性能评估生成具有代表性的Web工作负载。ACM SIGMETRICS,1998年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  2. B.Beizer。软件测试技术,第二版。纽约:Van Nostrand Reinhold,1990年。谷歌学者谷歌学者数字图书馆数字图书馆
  3. A.Bron、E.Farchi、Y.Magid、Y.Nir和S.Ur。同步覆盖的应用。PPoPP,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  4. O.Edelstein、E.Farchi、Y.Nir、G.Ratsaby和S.Ur.多线程Java程序测试生成。在IBM Systems Journal,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  5. Atomizer:多线程程序的动态原子性检查程序。在POPL,2004年。谷歌学者谷歌学者数字图书馆数字图书馆
  6. C.Flanagan和S.Qadeer。原子性的类型和效果系统。PLDI,2003年。谷歌学者谷歌学者数字图书馆数字图书馆
  7. C.Hammer、J.Dolby、M.Vaziri和F.Tip。原子可串行性违规的动态检测。ICSE,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. M.J.Harrold和B.A.Malloy。并行代码的数据流测试。ICSM,1992年。谷歌学者谷歌学者交叉引用交叉引用
  9. P.V.Koppol和K.-C.Tai。并行软件结构测试的增量方法。ISSTA,1996年。谷歌学者谷歌学者数字图书馆数字图书馆
  10. J.R.Larus和R.Rajwar。事务性内存。摩根&Claypool,2006年。谷歌学者谷歌学者
  11. S.Lu、W.Jiang和Y.Zhou。交错覆盖标准的研究。FSE,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  12. S.Lu、S.Park、E.Seo和Y.Zhou。从错误中学习——对真实世界并发错误特征的全面研究。在ASPLOS,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  13. S.Lu、J.Tucek、F.Qin和Y.Zhou。AVIO:通过访问交错不变量检测原子性冲突。在ASPLOS,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  14. B.Lucia、J.Devietti、K.Strauss和L.Ceze。原子援助:检测和幸存原子性违规。2008年,国际会计准则理事会。谷歌学者谷歌学者数字图书馆数字图书馆
  15. C.-K.Luk、R.Cohn、R.Muth、H.Patil、A.Klauser、G.Lowney、S.Wallace、V.J.Reddi和K.Hazelwood。引脚:使用动态工具构建定制的程序分析工具。PLDI,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  16. M.Musuvathi和S.Qadeer。多线程程序系统测试的迭代上下文边界。PLDI,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  17. M.Musuvathi、S.Qadeer、T.Ball和G.Basler。在并发程序中查找和复制heisenbug。OSDI,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  18. N.Nethercote和J.Seward。Valgrind:重量级动态二进制指令插入框架。PLDI,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  19. R.H.B.Netzer和B.P.Miller。提高数据竞争检测的准确性。PPoPP,1991年。谷歌学者谷歌学者数字图书馆数字图书馆
  20. S.Savage、M.Burrows、G.Nelson、P.Sobalvarro和T.AndersonEraser:多线程程序的动态数据竞争检测器。ACM TOCS,1997年。谷歌学者谷歌学者数字图书馆数字图书馆
  21. 软件错误导致停电。安全焦点。http://www.securityfocus.com/news/8016谷歌学者谷歌学者
  22. K.Sen.对并发程序进行种族指导的随机测试。PLDI,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  23. K.Sen和G.Agha。开放分布式程序的自动系统测试。FSE,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  24. R.N.Taylor、D.L.Levine和C.D.Kelly。并发程序的结构测试。1992年IEEE软件工程汇刊。谷歌学者谷歌学者数字图书馆数字图书馆
  25. M.Vaziri、F.Tip和J.Dolby。将同步约束与面向对象语言中的数据相关联。在POPL,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  26. S.C.Woo、M.Ohara、E.Torrie、J.P.Singh和A.Gupta。SPLASH-2项目:特征和方法考虑。1995年,ISCA。谷歌学者谷歌学者数字图书馆数字图书馆
  27. M.Xu、R.Bodík和M.D.Hill。共享内存服务器程序的序列化违规检测器。PLDI,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  28. C.-S.D.Yang、A.L.Souter和L.L.Pollock。并行程序的所有du-path覆盖。ISSTA,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  29. Y.Yu、T.Rodeheffer和W.Chen。RaceTrack:通过自适应跟踪有效检测数据竞争条件。SOSP,2005年。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. CTrigger:从隐藏位置暴露原子性违规错误

    评论

    登录选项

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

    登录

    完全访问权限

    • 发布于

      封面图片ACM会议
      ASPLOS XIV:第14届编程语言和操作系统体系结构支持国际会议记录
      2009年3月
      358页
      国际标准图书编号:9781605584065
      内政部:10.1145/1508244
      • 封面图片ACM SIGPLAN注意事项
        ACM SIGPLAN通知 第44卷第3期
        ASPLOS 2009年
        2009年3月
        346页
        国际标准编号:0362-1340
        EISSN公司:1558-1160
        内政部:10.1145/1508284
        期刊目录
      • 封面图片ACM SIGARCH计算机架构新闻
        ACM SIGARCH计算机架构新闻 第37卷第1期
        ASPLOS 2009年
        2009年3月
        346页
        国际标准编号:0163-5964
        内政部:10.1145/2528521
        期刊目录

      版权所有©2009 ACM

      出版商

      计算机协会

      美国纽约州纽约市

      出版历史

      • 出版:2009年3月7日

      权限

      请求有关此文章的权限。

      请求权限

      检查更新

      限定符

      • 研究论文

      接受率

      总体验收率535属于2,713提交文件,20%

      即将召开的会议

      ASPLOS’23
      第28届ACM编程语言和操作系统体系结构支持国际会议
      2023年3月25日至29日
      温哥华,不列颠哥伦比亚省,加拿大

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用eReader联机查看。

    电子阅读器
    关于本网站上的Cookie

    我们使用cookie确保在我们的网站上为您提供最佳体验。

    了解更多信息

    知道了!