Coyote is a programming framework for building reliable asynchronous software. Coyote ensures design and code remain in sync, dramatically simplifying the addition of new features. Coyote comes with with a systematic testing engine that allows finding and deterministically reproducing hard-to-find safety and liveness bugs.
Coyote is used by several teams in Azure to design, implement and systematically test production distributed systems and services. In the words of an Azure service architect:
Coyote found several issues early in the dev process, this sort of issues that would usually bleed through into production and become very expensive to fix later.
See our documentation for more information about the project, case studies, tutorials and reference documentation.
Coyote is made with ❤️ by Microsoft Research and is the evolution of the P# project.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.