【24h】

Abstract Threads

机译:抽象线程

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

摘要

Verification of large multithreaded programs is challenging. Automatic approaches cannot overcome the state explosion in the number of threads; semi-automatic methods require expensive human time for finding global inductive invariants. Ideally, automatic methods should not deal with the composition of the original threads and a human should not supply a global invariant. We provide such an approach. In our approach, a human supplies a specification of each thread in the program. Here he has the freedom to ignore or to use the knowledge about the other threads. The checks whether specifications of threads are sound as well as whether the composition of the specifications is error-free are handed over to the off-the-shelf verifiers. We show how to apply this divide-and-conquer approach for the interleaving semantics with shared variables communication where specifications are targeted to real-world programmers: a specification of a thread is simply another thread. The new approach extends thread-modular reasoning by relaxing the structure of the transition relation of a specification. We demonstrate the feasibility of our approach by verifying two protocols governing the tear-down of important data structures in Windows device drivers.
机译:大型多线程程序的验证具有挑战性。自动方法无法克服线程数量激增的状态。半自动方法需要花费大量人力才能找到全局归纳不变式。理想情况下,自动方法不应处理原始线程的组成,并且人员不应提供全局不变性。我们提供了这种方法。在我们的方法中,人员提供程序中每个线程的规范。在这里,他可以自由忽略或使用有关其他线程的知识。检查线程规范是否正确以及规范的组成是否正确无误将移交给现成的验证程序。我们展示了如何将这种“分而治之”的方法应用于共享变量通信的交织语义,其中规范是针对实际程序员的:一个线程的规范只是另一个线程。新方法通过放宽规范过渡关系的结构来扩展线程模块化推理。我们通过验证控制Windows设备驱动程序中重要数据结构的拆除的两个协议来证明我们方法的可行性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号