Thread Quantification for Concurrent Shape Analysis BGU线程并发形状量化分析BGU.pptVIP

  • 6
  • 0
  • 约1.37万字
  • 约 45页
  • 2017-03-09 发布于上海
  • 举报

Thread Quantification for Concurrent Shape Analysis BGU线程并发形状量化分析BGU.ppt

Thread Quantification for Concurrent Shape Analysis BGU线程并发形状量化分析BGU

* * * * * h * * * Run operation sequentially Top Top n Top Top n x Top Top n x t Top Top n x t n Top Top n But how do you handle unboundedness due to recursive data structures? Employ Canonical Heap Abstraction void push(Stack *S, data_type v) { [1] Node *x = alloc(sizeof(Node)); [2] x-d = v; [3] do { [4] Node *t = S-Top; [5] x-n = t; [6] } while (!CAS(S-Top,t,x)); // LINEARIZE on CAS [7] } * An unbounded state void push(Stack *S, data_type v) { [1] Node *x = alloc(sizeof(Node)); [2] x-d = v; [3] do { [4] Node *t = S-Top; [5] x-n = t; [6] } while (!CAS(S-Top,t,x)); LINEARIZE on CAS [7] } P x n P x Top P x P x t P x t P x n t t unbounded number of delta objects n n Top n n Top P x n n P x Top t n n P x n Top t n n * Bounded local states number of delta objects per local heap bounded Observations used Unbounded number of heap objects Number of delta objects created per thread is bounded Objects in recursive data structures bounded by known shape abstractions Delta objects always referenced by local variables + global variables Captured by local heaps Threads mutate data structure near global access points * * Verified Programs #states time (sec.) Treiber’s stack [1986] 764 7 Two-lock queue [Michael Scott, PODC’96] 3,415 17 Non-blocking queue [Doherty Groves, FORTE’04] 10,333 252 Experimental results First automatic verification of linearizability for unbounded number of threads add an experiment for a failed treiber stack * What’s missing from the talk? Generic technique for lifting abstract domains with universal quantifiers Abstract transformers Thread instantiation Combining universal quantification with heap decomposition * Related work [Yahav, POPL’01] Shape analysis with counter abstraction [Gotsman et al., PLDI’07] Thread-modular shape analysis for coarse-grained concurrency [Amit et al., CAV’07] Linearizability for a bounded number of threads [Vafeiadis et al.,’06,’07,’08] Line

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档