Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Programming Devices and Services with P

Paul G. Allen School via YouTube

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

Reviews

Start your review of Programming Devices and Services with P

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.