首页> 外文会议>ACM SIGPLAN Conference on Programming Language Design and Implementation >Fully Automatic and Precise Detection of Thread Safety Violations
【24h】

Fully Automatic and Precise Detection of Thread Safety Violations

机译:全自动和精确地检测线程安全违规

获取原文

摘要

Concurrent, object-oriented programs often use thread-safe library classes. Existing techniques for testing a thread-safe class either rely on tests using the class, on formal specifications, or on both. Unfortunately, these techniques often are not fully automatic as they involve the user in analyzing the output. This paper presents an automatic testing technique that reveals concurrency bugs in supposedly thread-safe classes. The analysis requires as input only the class under test and reports only true positives. The key idea is to generate tests in which multiple threads call methods on a shared instance of the tested class. If a concurrent test exhibits an exception or a deadlock that cannot be triggered in any linearized execution of the test, the analysis reports a thread safety violation. The approach is easily applicable, because it is independent of hand-written tests and explicit specifications. The analysis finds 15 concurrency bugs in popular Java libraries, including two previously unknown bugs in the Java standard library.
机译:并发,面向对象的程序通常使用线程安全库类。现有技术用于测试线程安全等级,可以在正式规范或两者上依靠使用类或在两者上使用类别的测试。不幸的是,这些技术通常不是完全自动的,因为它们涉及用户分析输出。本文介绍了一种自动测试技术,揭示了据说线程安全类中的并发错误。分析要求仅作为输入的类输入,并仅报告真正的阳性。关键的想法是生成测试,其中多个线程在测试类的共享实例上调用方法。如果并发测试表现出异常或死锁不能在测试的任何线性化执行中触发,则分析报告了线程安全违规。该方法很容易适用,因为它与手写测试和明确规范无关。分析在流行的Java库中找到了15个并发错误,包括Java标准库中的两个先前未知的错误。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号