{"id":169486,"date":"2008-10-01T15:47:00","date_gmt":"2008-10-01T15:47:00","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/chess-find-and-reproduce-heisenbugs-in-concurrent-programs\/"},"modified":"2020-11-12T13:46:08","modified_gmt":"2020-11-12T21:46:08","slug":"chess-find-and-reproduce-heisenbugs-in-concurrent-programs","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/chess-find-and-reproduce-heisenbugs-in-concurrent-programs\/","title":{"rendered":"CHESS: Find and Reproduce Heisenbugs in Concurrent Programs"},"content":{"rendered":"<div class=\"asset-content\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/chess-find-and-reproduce-heisenbugs-in-concurrent-programs-2.png\" alt=\"\" width=\"139\" height=\"133\" \/>CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved debugging. CHESS is available for both managed and native programs.<!-- .asset-content --><\/div>\n","protected":false},"excerpt":{"rendered":"<p>CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13561,13560,13547],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-169486","msr-project","type-msr-project","status-publish","hentry","msr-research-area-algorithms","msr-research-area-programming-languages-software-engineering","msr-research-area-systems-and-networking","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2008-10-01","related-publications":[153065,153163,153189,155126,155129,155130,156182,156183,156206,158869,159190,159664,160275],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[307343],"related-articles":[],"tab-content":[{"id":0,"name":"Interns","content":"<ul>\r\n \t<li><strong>2008<\/strong>\r\n<ul>\r\n \t<li><a href=\"http:\/\/www.cs.utexas.edu\/~coonske\/\">Katherine Coons<\/a>, University of Texas at Austin<\/li>\r\n \t<li><a href=\"http:\/\/www.informatik.uni-freiburg.de\/~alexmalk\/\">Alexander Malkis<\/a>, Freiburg University<\/li>\r\n \t<li>Vasu Singh, EPFL<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li><strong>2007<\/strong>\r\n<ul>\r\n \t<li><a href=\"http:\/\/www.inf.ethz.ch\/people\/alpha\/detail?id=396\">Gerard Basler<\/a>, ETH Zurich<\/li>\r\n \t<li><a href=\"http:\/\/home.ku.edu.tr\/~telmas\/\">Tayfun Elmas<\/a>, Koc University<\/li>\r\n \t<li><a href=\"http:\/\/www.cs.wisc.edu\/~arumuga\/\">Piramanayagam Arumuga Nainar<\/a>, University of Wisconsin at Madison<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li>\u00a0<strong>2006<\/strong>\r\n<ul>\r\n \t<li><a href=\"http:\/\/www.cs.umd.edu\/~neamtiu\/\">Iulian Neamtiu<\/a>, University of Maryland at College Park<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>"},{"id":1,"name":"CHESS Players","content":"A number of people are experimenting with CHESS in course projects. The links below point to their project summaries. Thanks to these CHESS players for their work! Let us known if you have something to contribute!\r\n<ul>\r\n \t<li>\r\n<div><a href=\"http:\/\/www.projectbentley.com\/work\/\/chess\" target=\"_self\">Michael Bentley<\/a>, Univ. Utah<\/div><\/li>\r\n \t<li>\r\n<div><a href=\"http:\/\/www.cs.utah.edu\/~carsonj\/cs6966\/Project\/html\/finalmain.html\" target=\"_self\">Carson Jones<\/a>, Univ. Utah<\/div><\/li>\r\n<\/ul>"},{"id":2,"name":"Additional information","content":"<ul>\r\n \t<li><a href=\"http:\/\/www.codeplex.org\/chesstool\/\">CHESS open source<\/a><\/li>\r\n \t<li><a href=\"http:\/\/www.cs.virginia.edu\/kim\/publicity\/pldi09tutorials\/#A1\" target=\"_self\">CHESS Tutorial<\/a>\u00a0at <a href=\"http:\/\/www-plan.cs.colorado.edu\/~pldi09\/\" target=\"_self\">PLDI 2009<\/a>\u00a0[slides: <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/chess-chesspldi2009tutorial.ppt\" target=\"_self\">ppt<\/a>, <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/chess-chesspldi2009tutorial.pdf\" target=\"_self\">pdf<\/a>]<\/li>\r\n \t<li><a href=\"http:\/\/channel9.msdn.com\/\/shows\/\/going+Deep\/\/chess-An-Automated-Concurrency-Testing-Tool\/\" target=\"_self\">Channel 9<\/a>\u00a0video on CHESS<\/li>\r\n \t<li><strong>Listen<\/strong> to <a href=\"http:\/\/www.hanselminutes.com\/default.aspx?showID=154\">Scott Hanselman's interview<\/a> about CHESS at PDC (go\u00a0to\u00a028:10), <strong>watch<\/strong> the <a href=\"http:\/\/channel9.msdn.com\/pdc2008\/TL58\">video of the CHESS PDC presentation<\/a><\/li>\r\n \t<li><a href=\"http:\/\/msdn.microsoft.com\/\">MSDN<\/a> article on <a href=\"http:\/\/msdn.microsoft.com\/en-us\/magazine\/cc546569.aspx\">Tools and Techniques to Identify Concurrency Issues<\/a><\/li>\r\n<\/ul>"}],"slides":[],"related-researchers":[{"type":"user_nicename","value":"jhalleux","display_name":"Peli de Halleux","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/jhalleux\/\" aria-label=\"Visit the profile page for Peli de Halleux\">Peli de Halleux<\/a>","is_active":false,"user_id":32253,"last_first":"de Halleux, Peli","people_section":0,"alias":"jhalleux"},{"type":"user_nicename","value":"madanm","display_name":"Madan Musuvathi","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/madanm\/\" aria-label=\"Visit the profile page for Madan Musuvathi\">Madan Musuvathi<\/a>","is_active":false,"user_id":32766,"last_first":"Musuvathi, Madan","people_section":0,"alias":"madanm"},{"type":"user_nicename","value":"sburckha","display_name":"Sebastian Burckhardt","author_link":"<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/sburckha\/\" aria-label=\"Visit the profile page for Sebastian Burckhardt\">Sebastian Burckhardt<\/a>","is_active":false,"user_id":33544,"last_first":"Burckhardt, Sebastian","people_section":0,"alias":"sburckha"}],"msr_research_lab":[199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/169486","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":2,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/169486\/revisions"}],"predecessor-version":[{"id":654558,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/169486\/revisions\/654558"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=169486"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=169486"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=169486"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=169486"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=169486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}