Programming Devices and Services with P
Offered By: Paul G. Allen School via YouTube
Course Description
Overview
Explore the P programming framework for designing, implementing, and validating event-driven asynchronous systems in this 52-minute talk by Shaz Qadeer. Gain insights into how P incorporates deep modeling and specification techniques into asynchronous programming, allowing systematic testing and debugging of applications before deployment to prevent difficult-to-fix Heisenbugs. Learn about P's real-world applications in Microsoft products, including USB drivers, Microsoft Office, Azure services, and autonomous robotics research. Discover key ideas behind P, its workflow, and open research problems. Delve into topics such as concurrency, reactivity, failure handling, modeling, and programming techniques. Examine P# and its code structure, asynchronous systems, monitors, and various search and execution strategies including depth-first search, random sampling, partial order reduction, and symbolic execution. Understand how P addresses the challenges of the Heisenberg uncertainty principle in distributed systems and its potential for improving software reliability.
Syllabus
Introduction
Devices and Services
concurrency reactivity and failure
Heisenberg uncertainty principle
Azure storage example
Azure integration tests
Heisenbergs logs
P is an attack
P programmer workflow
Modeling and programming
Successes
PSharp
Code Structure
Asynchronous Systems
Monitors
DepthFirst Search
Value Proposition
Delaying Scheduler
Prioritizing Search
Randomization
Random Sampling
Partial Order Reduction
Symbolic Execution
Compositional Reasoning
Taught by
Paul G. Allen School
Related Courses
A Beginner’s Guide to VCS and GitPackt via FutureLearn 面向对象技术高级课程(The Advanced Object-Oriented Technology)
Peking University via Coursera IBM AI Developer
IBM via Coursera Migrating to the AWS Cloud
Amazon Web Services via FutureLearn AWS Networking Practical Approaches
Amazon Web Services via AWS Skill Builder