Better design, implementation, and testing of async systems with Coyote

Software is becoming increasingly more distributed, making asynchronous programming the norm, yet programming languages and tools have been slow to provide the help needed to really address all the complexities that arise when building reliable async software. The Coyote project is a new open-source library from Microsoft Research designed to help developers solve challenging problems with concurrency and non-determinism in their code. Coyote also provides an advanced testing tool capable of quickly and systematically testing your code to automatically identify bugs, including safety and liveness violations. In addition, these bugs can be reproduced using Coyote’s replay capability, making it easy to debug a system.

In this webinar, Chris Lovett, Principal Software Engineer at Microsoft Research, will introduce Coyote and demonstrate how it can help developers write correct async code with confidence. To convey this complicated subject in a practical way, this webinar will walk you through Coyote sample code and show you how to test and visualize that code with the powerful Coyote testing tool. Lovett will also discuss how Coyote is being used by Microsoft Azure today.

Together, you’ll explore:

  • The causes of complexity in async code, including sources of non-determinism
  • Tackling this complexity using Coyote and its testing tool
  • Coyote’s two programming models—the asynchronous tasks programming model and the more advanced asynchronous actors programming model
  • Sample code in C#

Resource list:

*This on-demand webinar features a previously recorded Q&A session and open captioning.

Explore more Microsoft Research webinars: https://aka.ms/msrwebinars (opens in new tab)

Date:
Speakers:
Chris Lovett
Affiliation:
Microsoft Research