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.
Read more