Automated Inference of Atomic Sets for Safe Concurrent Execution
Gul Agha University of Illinois at Urbana-Champaign Joint work with Peter Dinges and Karl Palmskog
Gul Agha Automated Inference of Atomic Sets 1 / 100
Automated Inference of Atomic Sets for Safe Concurrent Execution - - PowerPoint PPT Presentation
Automated Inference of Atomic Sets for Safe Concurrent Execution Gul Agha University of Illinois at Urbana-Champaign Joint work with Peter Dinges and Karl Palmskog Gul Agha Automated Inference of Atomic Sets 1 / 100 Introduction Part I:
Gul Agha Automated Inference of Atomic Sets 1 / 100
Introduction
Gul Agha Automated Inference of Atomic Sets 2 / 100
Introduction
Gul Agha Automated Inference of Atomic Sets 3 / 100
Introduction
Gul Agha Automated Inference of Atomic Sets 4 / 100
Introduction Threads
Gul Agha Automated Inference of Atomic Sets 5 / 100
Introduction Threads
Gul Agha Automated Inference of Atomic Sets 6 / 100
Introduction Classic Synchronization Primitives for Threads
Gul Agha Automated Inference of Atomic Sets 7 / 100
Introduction Classic Synchronization Primitives for Threads
Gul Agha Automated Inference of Atomic Sets 7 / 100
Introduction Classic Synchronization Primitives for Threads
Gul Agha Automated Inference of Atomic Sets 8 / 100
Introduction Classic Synchronization Primitives for Threads
1Torres et al. (2011) Gul Agha Automated Inference of Atomic Sets 8 / 100
Introduction Classic Synchronization Primitives for Threads
Gul Agha Automated Inference of Atomic Sets 9 / 100
Introduction Actors
2https://www.facebook.com/notes/facebook-engineering/
Gul Agha Automated Inference of Atomic Sets 10 / 100
Introduction Actors
3http://blog.redfin.com/devblog/2010/05/how_and_why_twitter_
Gul Agha Automated Inference of Atomic Sets 11 / 100
Introduction Actors
Gul Agha Automated Inference of Atomic Sets 12 / 100
Introduction Actors
Gul Agha Automated Inference of Atomic Sets 13 / 100
Introduction Actors
Gul Agha Automated Inference of Atomic Sets 14 / 100
Introduction Actors
Gul Agha Automated Inference of Atomic Sets 15 / 100
Introduction Actor Synchronization and Coordination
4http://osl.cs.illinois.edu/software/actor-foundry/ 5http://www.erlang.org 6http://akka.io Gul Agha Automated Inference of Atomic Sets 16 / 100
Introduction Actor Synchronization and Coordination
4http://osl.cs.illinois.edu/software/actor-foundry/ 5http://www.erlang.org 6http://akka.io Gul Agha Automated Inference of Atomic Sets 16 / 100
Introduction Actor Synchronization and Coordination
Gul Agha Automated Inference of Atomic Sets 17 / 100
Introduction Actor Synchronization and Coordination
Gul Agha Automated Inference of Atomic Sets 17 / 100
Introduction Actor Synchronization and Coordination
Gul Agha Automated Inference of Atomic Sets 18 / 100
Introduction Actor Synchronization and Coordination
Gul Agha Automated Inference of Atomic Sets 18 / 100
Introduction Actor Synchronization and Coordination
Gul Agha Automated Inference of Atomic Sets 19 / 100
Introduction Actor Synchronization and Coordination
Gul Agha Automated Inference of Atomic Sets 20 / 100
Program Invariants and Atomicity Data Structure Invariants
Gul Agha Automated Inference of Atomic Sets 21 / 100
Program Invariants and Atomicity Data Structure Invariants
7Artho et al. (2003) Gul Agha Automated Inference of Atomic Sets 22 / 100
Program Invariants and Atomicity Data Structure Invariants
8Lu et al. (2008) Gul Agha Automated Inference of Atomic Sets 23 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 24 / 100
Program Invariants and Atomicity Specifying Invariants
9http://www.jmlspecs.org Gul Agha Automated Inference of Atomic Sets 25 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 26 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 27 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 28 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 29 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 30 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 31 / 100
Program Invariants and Atomicity Specifying Invariants
Gul Agha Automated Inference of Atomic Sets 32 / 100
Program Invariants and Atomicity Specifying Invariants
10http://openjml.org Gul Agha Automated Inference of Atomic Sets 33 / 100
Program Invariants and Atomicity Threads, Invariants, and Atomicity
Gul Agha Automated Inference of Atomic Sets 34 / 100
Program Invariants and Atomicity Threads, Invariants, and Atomicity
Gul Agha Automated Inference of Atomic Sets 35 / 100
Program Invariants and Atomicity Threads, Invariants, and Atomicity
Gul Agha Automated Inference of Atomic Sets 36 / 100
Program Invariants and Atomicity Threads, Invariants, and Atomicity
11http://doc.akka.io/docs/akka/2.0/java/untyped-actors.html Gul Agha Automated Inference of Atomic Sets 37 / 100
Data-centric Synchronization
Gul Agha Automated Inference of Atomic Sets 38 / 100
Data-centric Synchronization Pluggable Type Systems
12Papi et al. (2008) Gul Agha Automated Inference of Atomic Sets 39 / 100
Data-centric Synchronization Pluggable Type Systems
Gul Agha Automated Inference of Atomic Sets 40 / 100
Data-centric Synchronization Pluggable Type Systems
13Tech report to appear at http://osl.cs.illinois.edu Gul Agha Automated Inference of Atomic Sets 41 / 100
Data-centric Synchronization Atomic Sets and Units of Work
Gul Agha Automated Inference of Atomic Sets 42 / 100
Data-centric Synchronization Atomic Sets and Units of Work
Gul Agha Automated Inference of Atomic Sets 43 / 100
Data-centric Synchronization Atomic Sets and Units of Work
Gul Agha Automated Inference of Atomic Sets 44 / 100
Data-centric Synchronization Atomic Sets and Units of Work
Gul Agha Automated Inference of Atomic Sets 44 / 100
Data-centric Synchronization Atomic Sets and Units of Work
Gul Agha Automated Inference of Atomic Sets 44 / 100
Data-centric Synchronization Atomic Sets and Units of Work
Gul Agha Automated Inference of Atomic Sets 45 / 100
Data-centric Synchronization Annotating Java Programs with Data-centric Primitives
14Marino et al. (2013) Gul Agha Automated Inference of Atomic Sets 46 / 100
Data-centric Synchronization Annotating Java Programs with Data-centric Primitives
Gul Agha Automated Inference of Atomic Sets 47 / 100
Data-centric Synchronization Annotating Java Programs with Data-centric Primitives
Gul Agha Automated Inference of Atomic Sets 47 / 100
Data-centric Synchronization Annotating Java Programs with Data-centric Primitives
Gul Agha Automated Inference of Atomic Sets 48 / 100
Inference of Atomic Sets Static Analysis
15Huang & Milanova (2012) Gul Agha Automated Inference of Atomic Sets 49 / 100
Inference of Atomic Sets Dynamic Inference
Gul Agha Automated Inference of Atomic Sets 50 / 100
Inference of Atomic Sets Dynamic Inference
Gul Agha Automated Inference of Atomic Sets 51 / 100
Inference of Atomic Sets Dynamic Inference
Gul Agha Automated Inference of Atomic Sets 52 / 100
Inference of Atomic Sets Dynamic Inference
Gul Agha Automated Inference of Atomic Sets 53 / 100
Inference of Atomic Sets Dynamic Inference
Gul Agha Automated Inference of Atomic Sets 54 / 100
Inference of Atomic Sets Dynamic Inference
Gul Agha Automated Inference of Atomic Sets 54 / 100
Inference of Atomic Sets Bayesian Inference
16Pearl (1988) Gul Agha Automated Inference of Atomic Sets 55 / 100
Inference of Atomic Sets Bayesian Inference
Gul Agha Automated Inference of Atomic Sets 56 / 100
Inference of Atomic Sets Bayesian Inference
Gul Agha Automated Inference of Atomic Sets 57 / 100
Inference of Atomic Sets Bayesian Inference
Gul Agha Automated Inference of Atomic Sets 58 / 100
Inference of Atomic Sets Bayesian Inference
Gul Agha Automated Inference of Atomic Sets 59 / 100
Inference of Atomic Sets Bayesian Inference
Gul Agha Automated Inference of Atomic Sets 59 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 60 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 60 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 61 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 62 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 62 / 100
Inference of Atomic Sets Algorithm
distance likelihood ratio
Gul Agha Automated Inference of Atomic Sets 63 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 64 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 65 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 66 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 66 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 66 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 67 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 67 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 68 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 69 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 70 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 71 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 72 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 73 / 100
Inference of Atomic Sets Algorithm Gul Agha Automated Inference of Atomic Sets 74 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 75 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 76 / 100
Inference of Atomic Sets Algorithm
Gul Agha Automated Inference of Atomic Sets 77 / 100
Inference of Atomic Sets Algorithm Gul Agha Automated Inference of Atomic Sets 78 / 100
Inference of Atomic Sets Implementation
17http://wala.sf.net Gul Agha Automated Inference of Atomic Sets 79 / 100
Inference of Atomic Sets Implementation
Gul Agha Automated Inference of Atomic Sets 80 / 100
Inference of Atomic Sets Implementation
Gul Agha Automated Inference of Atomic Sets 81 / 100
Inference of Atomic Sets Implementation
Gul Agha Automated Inference of Atomic Sets 82 / 100
Inference of Atomic Sets Implementation
Gul Agha Automated Inference of Atomic Sets 83 / 100
Inference of Atomic Sets Implementation
Gul Agha Automated Inference of Atomic Sets 84 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 85 / 100
Applications Actorization
18http://doc.akka.io/docs/akka/2.0/java/typed-actors.html Gul Agha Automated Inference of Atomic Sets 85 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 86 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 87 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 88 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 89 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 90 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 91 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 92 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 93 / 100
Applications Actorization
Gul Agha Automated Inference of Atomic Sets 94 / 100
Future Work
Adaptive Programs Monitoring Inference Properties Synthesis & Verification Gul Agha Automated Inference of Atomic Sets 95 / 100
Future Work
Gul Agha Automated Inference of Atomic Sets 96 / 100
Future Work
Gul Agha Automated Inference of Atomic Sets 97 / 100
Bibliography
Gul Agha Automated Inference of Atomic Sets 98 / 100
Bibliography
Gul Agha Automated Inference of Atomic Sets 99 / 100
Bibliography
Gul Agha Automated Inference of Atomic Sets 100 / 100