{"id":144812,"date":"2008-11-24T00:13:15","date_gmt":"2008-11-24T00:13:15","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/group\/research-in-software-engineering-rise\/"},"modified":"2024-10-23T22:34:16","modified_gmt":"2024-10-24T05:34:16","slug":"research-software-engineering-rise","status":"publish","type":"msr-group","link":"https:\/\/www.microsoft.com\/en-us\/research\/group\/research-software-engineering-rise\/","title":{"rendered":"Research in Software Engineering (RiSE)"},"content":{"rendered":"
\n\t
\n\t\t
\n\t\t\t\"Programming\t\t<\/div>\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\tReturn to Microsoft Research Lab – Redmond\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n

Research in Software Engineering (RiSE)<\/h1>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n\n\n\n
\"Research<\/figure>\n\n\n\n

The RiSE group builds the system and foundations of programming through open-ended fundamental research in formal methods, high-performance computing, programming languages, and software engineering. We collectively work towards a future where computing systems are provably correct, secure, and performant. Our research synergistically combines symbolic reasoning, AI, and human-centric methods to empower every programmer and organization to achieve more. <\/p>\n\n\n\n

Our research falls into the following thrusts: <\/p>\n\n\n\n

Natural Specifications<\/h5>\n\n\n\n

We believe that future programming systems will allow humans to specify their intent naturally with the computer distilling this intent interactively into a precise formal specification. Towards this end, we are conducting research in the intersection of formal reasoning and natural-language processing to synthesize specifications from several natural artefacts: documentation, code, runtime traces, etc.<\/p>\n\n\n\n

TAPP (opens in new tab)<\/span><\/a>, TiCoder (opens in new tab)<\/span><\/a>, TOGA (opens in new tab)<\/span><\/a>, NL2Post (opens in new tab)<\/span><\/a>, 3DGen (opens in new tab)<\/span><\/a>, Prompts are Programs (opens in new tab)<\/span><\/a> <\/p>\n\n\n\n

Verified Programming<\/h5>\n\n\n\n

Over the past decade, we have made huge strides in developing proof-oriented programming methodologies for building provably correct systems. For instance, verified parsers from our group now validates every packet in Azure to provably eliminate entire classes of security vulnerabilities. We are using AI advances to significantly increase the scope of proof-oriented programming and accelerate the development of provably correct systems. <\/p>\n\n\n\n

Project Everest (opens in new tab)<\/span><\/a>, EverParse (opens in new tab)<\/span><\/a>, AutoParse, Verus, Pulse, Kuiper<\/p>\n\n\n\n

Verified Configurations<\/h5>\n\n\n\n

Correctness of systems crucially depends on their configurations; misconfigurations, as equally as program bugs, can lead to serious reliability and security issues. We have long used symbolic reasoning methods to detect configuration errors in production systems; for instance, Azure makes more than 5 billion calls to our configuration verification tool every day and generates tens to thousand alerts that would otherwise could result in serious outages. We are developing methods to automatically infer intent to accelerate the verification of configurations. <\/p>\n\n\n\n

Network Verification<\/a><\/p>\n\n\n\n

High-Performance Computing & AI Infrastructure<\/h5>\n\n\n\n

We are developing state-of-the art high-performance computing and compiler techniques to improve the performance of our AI infrastructure. Programming abstractions and high-performance kernels developed by our group are used to serve production AI workloads in Azure. <\/p>\n\n\n\n

MSCCL (opens in new tab)<\/span><\/a>, MSCCL++ (opens in new tab)<\/span><\/a>, CuSync (opens in new tab)<\/span><\/a>, FastKron (opens in new tab)<\/span><\/a>, TritonComm, Guidance (opens in new tab)<\/span><\/a><\/p>\n\n\n\n

Formal Methods & Automated Reasoning<\/h5>\n\n\n\n

Our research is firmly rooted in formally reasoning about the correctness and performance of systems. To this end, we invest in long-term foundational research in formal methods and automated reasoning. <\/p>\n\n\n\n

Lean<\/a>, Symbolic Automata<\/a>, Z3<\/a> <\/p>\n\n\n\n

Programming Languages & Systems<\/h5>\n\n\n\n

We develop core programming language abstractions to improve the productivity of programmers everywhere. <\/p>\n\n\n\n

F* (opens in new tab)<\/span><\/a>, Koka (opens in new tab)<\/span><\/a>, Azure Durable Functions (opens in new tab)<\/span><\/a>, Netherite (opens in new tab)<\/span><\/a>, Orleans (opens in new tab)<\/span><\/a>, Microsoft MakeCode (opens in new tab)<\/span><\/a>, Jacdac (opens in new tab)<\/span><\/a>, MSAGL-JS (opens in new tab)<\/span><\/a>, GenAIScript (opens in new tab)<\/span><\/a><\/p>\n\n\n\n

\n
Connect on Twitter<\/a><\/div>\n<\/div>\n\n\n\n\n\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

RiSE coordinates Microsoft\u2019s Research in Software Engineering in Redmond, USA. Our mission is to advance the state of the art in Software Engineering and to bring those advances to Microsoft\u2019s businesses.<\/p>\n","protected":false},"featured_media":498053,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr_group_start":"","footnotes":""},"research-area":[13556,13554,13560,13558],"msr-group-type":[243694],"msr-locale":[268875],"msr-impact-theme":[],"class_list":["post-144812","msr-group","type-msr-group","status-publish","has-post-thumbnail","hentry","msr-research-area-artificial-intelligence","msr-research-area-human-computer-interaction","msr-research-area-programming-languages-software-engineering","msr-research-area-security-privacy-cryptography","msr-group-type-group","msr-locale-en_us"],"msr_group_start":"","msr_detailed_description":"","msr_further_details":"","msr_hero_images":[],"msr_research_lab":[199565],"related-researchers":[{"type":"user_nicename","display_name":"Thomas Ball","user_id":33895,"people_section":"Group 1","alias":"tball"},{"type":"user_nicename","display_name":"Shraddha Barke","user_id":43605,"people_section":"Group 1","alias":"sbarke"},{"type":"user_nicename","display_name":"Nikolaj Bj\u00f8rner","user_id":33067,"people_section":"Group 1","alias":"nbjorner"},{"type":"user_nicename","display_name":"Sebastian Burckhardt","user_id":33544,"people_section":"Group 1","alias":"sburckha"},{"type":"user_nicename","display_name":"Saikat Chakraborty","user_id":42411,"people_section":"Group 1","alias":"saikatc"},{"type":"user_nicename","display_name":"Shuo Chen","user_id":33637,"people_section":"Group 1","alias":"shuochen"},{"type":"user_nicename","display_name":"Gabriel Ebner","user_id":42573,"people_section":"Group 1","alias":"gabrielebner"},{"type":"user_nicename","display_name":"Sarah Fakhoury","user_id":42180,"people_section":"Group 1","alias":"sfakhoury"},{"type":"user_nicename","display_name":"Cormac Herley","user_id":31468,"people_section":"Group 1","alias":"cormac"},{"type":"user_nicename","display_name":"Abhinav Jangda","user_id":42438,"people_section":"Group 1","alias":"ajangda"},{"type":"user_nicename","display_name":"Markus Kuppe","user_id":32784,"people_section":"Group 1","alias":"makuppe"},{"type":"user_nicename","display_name":"Shuvendu Lahiri","user_id":33640,"people_section":"Group 1","alias":"shuvendu"},{"type":"user_nicename","display_name":"Daan Leijen","user_id":31497,"people_section":"Group 1","alias":"daan"},{"type":"user_nicename","display_name":"Guido Mart\u00ednez","user_id":42915,"people_section":"Group 1","alias":"guimartinez"},{"type":"user_nicename","display_name":"Angelica Moreira","user_id":43167,"people_section":"Group 1","alias":"anmoreira"},{"type":"user_nicename","display_name":"Michal Moskal","user_id":37431,"people_section":"Group 1","alias":"mimoskal"},{"type":"user_nicename","display_name":"Madan Musuvathi","user_id":32766,"people_section":"Group 1","alias":"madanm"},{"type":"user_nicename","display_name":"Lev Nachmanson","user_id":32653,"people_section":"Group 1","alias":"levnach"},{"type":"user_nicename","display_name":"Tahina Ramananandro","user_id":36293,"people_section":"Group 1","alias":"taramana"},{"type":"user_nicename","display_name":"Aashaka Shah","user_id":43056,"people_section":"Group 1","alias":"aashakashah"},{"type":"user_nicename","display_name":"Nikhil Swamy","user_id":33138,"people_section":"Group 1","alias":"nswamy"},{"type":"user_nicename","display_name":"Jubi Taneja","user_id":42543,"people_section":"Group 1","alias":"jubitaneja"},{"type":"user_nicename","display_name":"Margus Veanes","user_id":32806,"people_section":"Group 1","alias":"margus"},{"type":"user_nicename","display_name":"Ben Zorn","user_id":35154,"people_section":"Group 1","alias":"zorn"},{"type":"user_nicename","display_name":"Peli de Halleux","user_id":32253,"people_section":"Group 1","alias":"jhalleux"}],"related-publications":[544248,547563,547581,544029,505508,498287,498272,481464,509975,343232,317378,337556,331022,327005,293297,300014,311420,293159,295586,292055,238212,277953,276159,265746,262947,259824,238227,251183,238213,242537,240029,237713,238009,238008,238253,238011,238255,268689,238033,238211,251192,238360,342335,238210,342380,215040,238214,238358,168897,238242,168680,342575,168866,168251,238216,168588,168606,238209,342365,168608,168309,168312,167947,167911,168444,168409,167912,168311,167952,168002,167910,168192,238254,168252,167985,167511,168310,167848,167962,166496,167997,167641,238359,167494,167966,167640,342341,342356,167744,167718,167717,167135,167509,167601,215211,167075,167514,167125,167510,166823,166766,167039,166655,166431,166434,166342,268665,166184,166341,166495,166407,166172,166362,166673,166488,166474,166343,166526,166535,166405,166327,166117,166116,166332,166331,166118,165601,166062,166131,165602,165785,165887,165882,165514,165795,165734,165581,165482,165218,165455,165458,164902,164869,164903,164709,165248,165174,238222,165492,164733,268680,164713,342458,165197,164665,342617,268593,342974,165473,342473,238224,238207,268587,342482,238223,342497,343076,342629,345005,344987,344999,344960,344969,344927,345035,345029,345017,345011,342044,342395,342050,342056,342062,342077,342083,342089,342125,345050,345044,342137,343088,268656,343118,343340,268581,345083,268671,342743,342635,268572,153101,343283,343349,343289,343304,343358,343313,344918,627912,761113,936297,571410,683847,841948,981003,724828,885843,1084344,640638,764872,939696,578803,684834,841975,982593,731026,890070,1085355,640647,765124,953625,579268,690579,845653,617616,732448,900717,564462,642384,769738,953640,590623,695655,860862,1029975,617628,732454,900732,1087500,568212,647484,771451,953652,594865,698899,860991,1030137,617634,738607,901725,1092855,569658,774058,954237,605844,701437,863379,1039380,739885,910749,1094508,569919,671025,782968,955017,606792,705892,864348,1039398,746071,913911,569985,671076,794180,965088,606990,707329,864534,1041069,618528,750325,925401,569997,671754,798427,976782,611871,710158,864888,619023,751681,933960,570141,674928,805813,976788,613197,879321,1057761,622893,756349,936282,571362,683523,815425,978444,616287,879978,1057767],"related-downloads":[354731,345386,235207,489092,489197,234619,489209,489221,489215,235205,441390,235199,583051,705880,705886,755677,1044159,1087350,1087356],"related-videos":[],"related-projects":[],"related-events":[],"related-opportunities":[1098003],"related-posts":[],"tab-content":[{"id":0,"name":"In the news","content":"Ben Zorn and Tom Ball hosted the Pacific Northwest Programming Languages and Software Engineering workshop<\/a> at Microsoft Research Redmond in Building 99 on May 14, 2018.\r\n\r\nMicrosoft Research received the 2016 IEEE Technical Council on Software Engineering (TCSE) Distinguished Synergy Award<\/a> \u201cpresented annually to a team for outstanding and\/or sustained contributions that stand as a model in the software engineering community of effective partnership between industry and universities.\u201d\r\n\r\nCRA Women Celebrates Women\u2019s History Month<\/a> features interview with Kathryn McKinley\r\n\r\nProject Premonition<\/a> aims to use mosquitoes, drones, cloud computing to prevent disease outbreaks\u00a0 [video<\/a>]\u00a0 [article<\/a>]"},{"id":1,"name":"Awards","content":"

\r\n

2017<\/h3>\r\nSkolem Award<\/strong><\/a> - CADE-21 (2007): Leonardo de Moura and Nikolaj Bj\u00f8rner<\/em> - Efficient E-Matching for SMT Solvers<\/strong>\r\n

2016<\/h3>\r\nMining Software Repositories' 2016 Most Influential Paper Award <\/strong>for\u00a0Mining Email Social Networks<\/em> by Christian Bird<\/a>, Alex Gourley, Prem Devanbu, Michael Gertz, Anand Swaminathan\r\n\r\nICSE 2016 Distinguished Paper Award <\/strong>for Guiding Dynamic Symbolic Execution Toward Unverified Program Executions by Maria Christakis<\/a> and co-authors\r\n\r\nMaria Christakis<\/a>'s\u00a0Ph.D. thesis was nominated by ETH for the Gesellschaft f\u00fcr Informatik prize for best dissertation<\/strong>\r\n

2015<\/h3>\r\nESEC\/FSE 2015 Distinguished Paper, <\/strong>How Practitioners Perceive the Relevance of Software Engineering Research, David Lo, Nachi Nagappan<\/a>, Thomas Zimmermann<\/a>\r\n\r\nSIGPLAN Research Highlight (May 2015), <\/strong>Parallelizing dynamic programming through rank convergence<\/a>, Saeed Maleki, Madanlal Musuvathi<\/a>,\u00a0 Todd Mytkowicz<\/a>\r\n\r\nNachi Nagappan<\/a> named a 2015 ACM Distinguished Scientist<\/strong>\r\n\r\nThe 2015 ACM Programming Languages Software Award<\/strong> goes to Christoph Wintersteiger<\/a>, Leonardo de Moura<\/a>, and Nikolaj Bjorner<\/a> of MSR for their foundational work on the Z3 automated theorem prover<\/a>, which powers several generations of testing, analysis and verification tools.\r\n\r\nGuiness Book of World Records<\/strong>: The most people trained in computer programming in 8<\/a> hours was achieved at the 2015 Microsoft Imagine Coding Camp, an event organized by Microsoft Corporation in Redmond, WA, USA on 30 July 2015 (using www.touchdevelop.com<\/a>)\r\n\r\nSIGPLAN PLDI 2015 Distinguished Artifact Award, <\/strong>FlashRelate: extracting relational data from semi-structured spreadsheets using examples<\/a>, Daniel W. Barowy<\/a>, Sumit Gulwani, Ted Hart, and Benjamin Zorn<\/a>\r\n

2014<\/h3>\r\n2014 CAV Award \"<\/strong>For the development of partial-order reduction algorithms for efficient state-space exploration of concurrent systems\", Patrice Godefroid<\/a>, Doron Peled, Antti Valmari, Pierre Wolper\r\n\r\nICSE 2014 Most Influential Paper Award<\/strong>, Mining Version Histories to Guide Software Changes, Thomas Zimmermann<\/a>,\u00a0Peter Weissgerber, Stephan Diehl and Andreas Zeller\r\n\r\n\"Uncertain<T>: A First-Order Type for Uncertain Data,\" J. Bornholt, T. Mytkowicz<\/a>, and K.S. McKinley, ASPLOS 2014, selected for ACM SIGPLAN Research Highlights<\/strong>, November 2014.\r\n\r\nFMCAD Best Paper Award<\/strong>. Akash Lal and Shaz Qadeer<\/a>, A Program Transformation for Faster Goal-Directed Search<\/a>, in Formal Methods in Computer-Aided Design (FMCAD)<\/em>, FMCAD, October 2014.\r\n\r\n2014 ACM SIGMETRICS Test of Time Award<\/strong>, for Kathryn McKinley's<\/a> paper \u201cMyths and Realities: The Performance Impact of Garbage Collection\u201d co-authored with Steve Blackburn and Perry Cheng which appeared originally in SIGMETRICS June 2004.\r\n\r\nFSE 2014 Distinguished Paper: <\/strong>Miltiadis Allamanis, Earl T. Barr, Christian Bird<\/a>, and Charles Sutton, Learning Natural Coding Conventions<\/a>\r\n\r\nFSE 2014 Distinguished Paper<\/strong>: Akask Lal, Shaz Qadeer<\/a>, Powering the Static Driver Verifier using Corral<\/a>\r\n\r\n<\/div>"}],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-group\/144812"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-group"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-group"}],"version-history":[{"count":76,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-group\/144812\/revisions"}],"predecessor-version":[{"id":1097076,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-group\/144812\/revisions\/1097076"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/498053"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=144812"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=144812"},{"taxonomy":"msr-group-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-group-type?post=144812"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=144812"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=144812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}