{"id":615984,"date":"2020-01-30T16:10:47","date_gmt":"2020-01-31T00:10:47","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&#038;p=615984"},"modified":"2022-06-29T16:22:15","modified_gmt":"2022-06-29T23:22:15","slug":"coyote","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/coyote\/","title":{"rendered":"Coyote"},"content":{"rendered":"<p>Mission-critical cloud services require more than 99.9 percent uptime\u2014developers face extreme challenges in this unpredictable, high-stakes environment. Coyote provides developers an intelligent testing solution to help them confidently build reliable asynchronous software on the .NET platform.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-615984-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/github.com\/microsoft\/coyote-content\/raw\/master\/assets\/video\/ShortIntro.mp4?_=1\" \/><a href=\"https:\/\/github.com\/microsoft\/coyote-content\/raw\/master\/assets\/video\/ShortIntro.mp4\">https:\/\/github.com\/microsoft\/coyote-content\/raw\/master\/assets\/video\/ShortIntro.mp4<\/a><\/video><\/div>\n<p>&nbsp;<\/p>\n<p>Coyote allows developers to write unit tests that can include concurrency and other sources of non-determinism, without having to worry about flakiness. Given such a test, Coyote is able to automatically find deep non-deterministic safety and liveness bugs through intelligent systematic testing; and reproduce these non-deterministic bugs, facilitating easier debugging and quick fixes. Coyote supports the popular asynchronous task-based programming in C#, as well as in-memory actors.<\/p>\n<p>Coyote has been adopted\u2014in production\u2014by a growing number of critical Azure services. User retention has been 100 percent so far, with teams reporting wins in three critical areas: (1) Increased uptime, with fewer to no bugs after production deployment on features systematically tested by Coyote; (2) increased performance enabled by a highly asynchronous design; and (3) time savings when adding new features due to increased confidence in code correctness.<\/p>\n<p>Learn more about Coyote at the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/microsoft.github.io\/coyote\/\" target=\"_blank\" rel=\"noopener noreferrer\">project website<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, this <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/innovation.microsoft.com\/en-us\/tech-minutes-project-coyote\">Tech Minutes series video<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>\u00a0and this <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/innovation.microsoft.com\/en-us\/exploring-project-coyote\">Microsoft Innovation demo<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Coyote provides developers a programming framework for confidently building reliable asynchronous software on the .NET platform.<\/p>\n","protected":false},"featured_media":645183,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13560],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-615984","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-programming-languages-software-engineering","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"","related-publications":[167948,215421,418130,568044,628206,776629,776638,776656,937491],"related-downloads":[],"related-videos":[705982,739126,743263],"related-groups":[144939],"related-events":[],"related-opportunities":[],"related-posts":[642939,739090,949350],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Akash Lal","user_id":30905,"people_section":"Section name 0","alias":"akashl"},{"type":"user_nicename","display_name":"Pantazis Deligiannis","user_id":36200,"people_section":"Section name 0","alias":"pdeligia"},{"type":"user_nicename","display_name":"Chris Lovett","user_id":36027,"people_section":"Section name 0","alias":"clovett"},{"type":"user_nicename","display_name":"Ajay Manchepalli","user_id":30885,"people_section":"Section name 0","alias":"ajayma"},{"type":"user_nicename","display_name":"Suvam Mukherjee","user_id":40237,"people_section":"Section name 0","alias":"sumukherjee"}],"msr_research_lab":[199562,199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/615984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":20,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/615984\/revisions"}],"predecessor-version":[{"id":857202,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/615984\/revisions\/857202"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/645183"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=615984"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=615984"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=615984"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=615984"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=615984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}