首页> 外文会议>Proceedings of the EuroSys 2011 conference. >Finding Complex Concurrency Bugs in Large Multi-Threaded Applications
【24h】

Finding Complex Concurrency Bugs in Large Multi-Threaded Applications

机译:在大型多线程应用程序中查找复杂的并发错误

获取原文
获取原文并翻译 | 示例

摘要

Parallel software is increasingly necessary to take advantage of multi-core architectures, but it is also prone to concurrency bugs which are particularly hard to avoid, find, and fix, since their occurrence depends on specific thread inter-leavings. In this paper we propose a concurrency bug detector that automatically identifies when an execution of a program triggers a concurrency bug. Unlike previous concurrency bug detectors, we are able to find two particularly hard classes of bugs. The first are bugs that manifest themselves by subtle violation of application semantics, such as returning an incorrect result. The second are latent bugs, which silently corrupt internal data structures, and are especially hard to detect because when these bugs are triggered they do not become immediately visible. Pike detects these concurrency bugs by checking both the output and the internal state of the application for linearizability at the level of user requests. This paper presents this technique for finding concurrency bugs, its application in the context of a testing tool that systematically searches for such problems, and our experience in applying our approach to MySQL, a large-scale complex multi-threaded application. We were able to find several concurrency bugs in a stable version of the application, including subtle violations of application semantics, latent bugs, and incorrect error replies.
机译:为了利用多核体系结构,并行软件变得越来越必要,但是它也易于出现并发错误,由于它们的发生取决于特定的线程交错,因此特别难以避免,发现和修复。在本文中,我们提出了一个并发错误检测器,它可以自动识别程序执行何时触发并发错误。与以前的并发错误检测器不同,我们能够找到两个特别困难的错误类。第一个是通过轻微违反应用程序语义(例如返回错误结果)而表现出来的错误。第二种是潜在的错误,它们会悄悄破坏内部数据结构,并且尤其难以检测,因为触发这些错误时,它们不会立即可见。 Pike通过在用户请求级别检查应用程序的输出和内部状态的线性度来检测这些并发错误。本文介绍了用于发现并发错误的技术,在系统地搜索此类问题的测试工具中的应用以及在将方法应用于大型复杂多线程MySQL上的经验。我们能够在稳定版本的应用程序中找到多个并发错误,包括对应用程序语义的细微违规,潜在的错误以及错误的错误回复。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号