{"id":359282,"date":"2017-01-30T10:24:21","date_gmt":"2017-01-30T18:24:21","guid":{"rendered":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/?p=359282"},"modified":"2020-08-27T16:03:51","modified_gmt":"2020-08-27T23:03:51","slug":"microsoft-research-and-the-industrial-research-cycle","status":"publish","type":"post","link":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/blog\/microsoft-research-and-the-industrial-research-cycle\/","title":{"rendered":"Microsoft Research and the industrial research cycle"},"content":{"rendered":"<p><em>By <\/em><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/tball\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Thomas Ball<\/em><\/a><em>, Research Manager, <\/em><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/group\/research-in-software-engineering-rise\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Research in Software Engineering<\/em><\/a><em> (RiSE) group, Microsoft Research<\/em><\/p>\n<h2>The industrial research cycle<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-359318 alignleft\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/tball.jpg\" alt=\"Thomas Ball, Research Manager, Research in Software Engineering (RiSE) group\" width=\"217\" height=\"302\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/tball.jpg 551w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/tball-215x300.jpg 215w\" sizes=\"auto, (max-width: 217px) 100vw, 217px\" \/>Here is what I have told new hires of <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Research<\/a> (MSR) since I became a manager some 14 years ago:<\/p>\n<blockquote><p><em>MSR gives you the freedom to explore and expand the bounds of scientific knowledge, as in academia, but with the added challenge to align your scientific pursuits with company problems and to drive for impact on Microsoft, especially as you grow in seniority at the company.<\/em><\/p><\/blockquote>\n<p>This statement is still as true today as it was when I joined MSR 17 years ago and reflects MSR\u2019s associated goals of advancing scientific frontiers <em>and<\/em> positively impacting the company.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-359294 alignright\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/industrial_research_cycle.png\" alt=\"\" width=\"342\" height=\"246\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/industrial_research_cycle.png 679w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/industrial_research_cycle-300x216.png 300w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/>I use the model of \u201cThe Industrial Research Cycle\u201d to explain how MSR works. Researchers have the freedom to select problems and to <em>explore<\/em> in their discipline (the left side of the cycle) to advance science. They also have the responsibility and opportunity, once sufficient exploration has taken place, to <em>focus<\/em> their attention on an area that they believe can produce impact for the company (the right side). Ideally, the problems\/solutions that one explores on the left side of the cycle eventually drive impact on the right side. And the experience one gains from the right side not only validates the science at scale, it also pushes exploration in new directions in the next phase. A researcher will go around the cycle many times during their career.<\/p>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-359303\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/impact.png\" alt=\"Research Impact at Microsoft and on Science\" width=\"342\" height=\"246\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/impact.png 890w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/impact-300x216.png 300w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/impact-768x553.png 768w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/>Impact over time<\/h2>\n<p>It is difficult to simultaneously explore and focus, and to do both well! Instead, one needs to engage in phases of exploration and focus over years.<\/p>\n<p>I use the \u201cImpact\u201d diagram to explain the different forms\/shapes of impact. The x-axis measures the level of scientific impact. The y-axis measures the level of Microsoft impact (see box). \u00a0One\u2019s impact is measured by the area under the curve. The shape of one\u2019s impact curve changes over time, both as one goes around the industrial research cycle and as one grows in seniority at the company.<\/p>\n<p>During an exploration phase, the shape of one\u2019s impact curve generally is horizontal because the primary audience is the scientific community. During a focus phase, the shape of one\u2019s curve is generally vertical, building on the foundation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-359309\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/measures.png\" alt=\"Some measures of Microsoft impact\" width=\"342\" height=\"201\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/measures.png 429w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/measures-300x176.png 300w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/>As one grows in seniority in the company, the expectations for focusing on Microsoft impact increase. On the other hand, junior researchers enjoy more freedom to explore. Fresh Ph.D. hires at MSR still have much work to do to establish themselves as recognized experts in their fields. While some may indeed engage with product teams early in their career, we do not expect junior researchers to jump right in to address problems of the company.<\/p>\n<p>While we encourage our researchers to actively publish, MSR does not emphasize quantity of publications. Quality is our top priority.<\/p>\n<h2><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-359297\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/long_term_play.png\" alt=\"The long term play between Microsoft and Science\" width=\"342\" height=\"302\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/long_term_play.png 660w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2017\/01\/long_term_play-300x265.png 300w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/>Pipelines and partners<\/h2>\n<p>MSR invests in scientific efforts that may not have immediate impact on Microsoft but that will build a new muscle\/capability for the company in the long run. I use the \u201cThe long term play\u201d diagram to show that a coordinated and long-term effort often is needed to turn scientific results into company impact.<\/p>\n<p>Below are three examples showing the path to impact, which requires working closely with partners over the long term, building relationships and trust, and changing company culture through new ways of approaching a problem.<\/p>\n<h3>Automated defect detection and driver quality<\/h3>\n<p>In late 1999, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/sriram\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sriram Rajamani<\/a> and I started the <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/slam\/\" target=\"_blank\" rel=\"noopener noreferrer\">SLAM<\/a> project at MSR to investigate new approaches for automatically finding code defects in device drivers. When the Windows Driver Quality was formed in 2002, Byron Cook, Jakob Lichtenberg and Vladimir Levin came into the team to deliver a tool called Static Driver Verifier (SDV), based on the SLAM engine. The first version of SDV was delivered with Windows in 2004. During the last decade, SDV\u2019s underlying analysis engine has been improved\/replaced by MSR three times (see papers on <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/dl.acm.org\/citation.cfm?id=1998508\" target=\"_blank\" rel=\"noopener noreferrer\">SLAM2<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/link.springer.com\/chapter\/10.1007%2F978-3-642-00768-2_17\" target=\"_blank\" rel=\"noopener noreferrer\">YOGI<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> and <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/dl.acm.org\/citation.cfm?id=2635894\" target=\"_blank\" rel=\"noopener noreferrer\">Corral<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>) by different sets of researchers working closely with the Driver Quality team, including <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/ellab\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ella Bounimova<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/adityan\/\" target=\"_blank\" rel=\"noopener noreferrer\">Aditya Nori<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/rahulku\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rahul Kumar<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/qadeer\/\" target=\"_blank\" rel=\"noopener noreferrer\">Shaz Qadeer<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/akashl\/\" target=\"_blank\" rel=\"noopener noreferrer\">Akash Lal<\/a> and <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/shuvendu\/\" target=\"_blank\" rel=\"noopener noreferrer\">Shuvendu Lahiri<\/a>.<\/p>\n<h3>From empirical software engineering to tools for software engineers<\/h3>\n<p>In 2004, I hired <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/nachin\/\" target=\"_blank\" rel=\"noopener noreferrer\">Nachi Nagappan<\/a> into MSR to spearhead <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/group\/empirical-software-engineering-group-ese\/\" target=\"_blank\" rel=\"noopener noreferrer\">Empirical Software Engineering<\/a> research at Redmond. For five years, Nachi and colleagues <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/bmurphy\/\" target=\"_blank\" rel=\"noopener noreferrer\">Brendan Murphy<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/jacekcz\/\" target=\"_blank\" rel=\"noopener noreferrer\">Jacek Czerwonka<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/cbird\/\" target=\"_blank\" rel=\"noopener noreferrer\">Christian Bird<\/a> and <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/tzimmer\/\" target=\"_blank\" rel=\"noopener noreferrer\">Thomas Zimmermann<\/a> studied key issues affecting software quality and developer productivity, through analysis of product version histories, bug databases and other data sources.<\/p>\n<p>To scale such analyses across the company, Wolfram Schulte joined with Nachi, Brendan and Jacek to create <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/dl.acm.org\/citation.cfm?id=2553365\" target=\"_blank\" rel=\"noopener noreferrer\">CODEMINE<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, a data analytics platform for collecting and analyzing Microsoft software engineering process data. This project started around 2009 (codenamed SWEPT) and culminated around 2013, giving insight into software engineering problems across Microsoft product groups. CODEMINE was essential to making a case for the formation of a new team called <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/tools-for-software-engineers\/\" target=\"_blank\" rel=\"noopener noreferrer\">Tools for Software Engineers<\/a>, which is moving the company to a cloud-based software engineering infrastructure.<\/p>\n<h3>Computer science education<\/h3>\n<p>More recently, the Touch Develop project (<a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/www.touchdevelop.com\" target=\"_blank\" rel=\"noopener noreferrer\">www.touchdevelop.com<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>) started in MSR in 2011 to make it possible to program scripts <em>for<\/em> smartphones <em>on<\/em> smartphones. An unexpected use of Touch Develop was in K-12 computer science education\u2014 teachers found that children were engaged by scripting their smartphones to react to environmental stimuli.<\/p>\n<p>This turned into a project with the BBC to create a small physical computing device with an easy-to-use coding platform (built on Touch Develop). One million of these devices, called <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/www.microbit.org\" target=\"_blank\" rel=\"noopener noreferrer\">micro:bits<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, were delivered in 2016, enough for every fifth grade student in the UK to receive one. Because of the BBC micro:bit, Microsoft is now investing in a <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/www.pxt.io\/about\" target=\"_blank\" rel=\"noopener noreferrer\">new programming platform<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> for CS education.<\/p>\n<h2>Organizing for big impact on big problems<\/h2>\n<p>Today, we find a handful of companies developing planetary-scale distributed systems. Amazon, Facebook, Google and Microsoft all have built such systems, and are engaged in optimizing them for performance, reliability, availability, security and privacy. Microsoft Azure is one such system, which provides compute, storage and networking services, and interacts with an ever-growing number of mobile devices and IoT endpoints.<\/p>\n<p>Optimizing every level of the stack, from the hardware assets, to the low-level operating system code, to the user-facing services, is key to its success, and affords opportunities for researchers across a wide range of disciplines, including those in systems, formal methods, software engineering and programming languages.<\/p>\n<p>Here are four new, larger-scale projects related to the cloud that the RiSE group is deeply involved in:<\/p>\n<ul>\n<li>The <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/github.com\/p-org\" target=\"_blank\" rel=\"noopener noreferrer\">P programming language<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> is transforming the way Microsoft programmers undertake the task of building large asynchronous systems. P has been used to develop USB 3.0 drivers in Windows, as well as services in Microsoft Azure.<\/li>\n<\/ul>\n<ul>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/project-everest.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Project Everest<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> is constructing a high-performance, standards-compliant, veri\ufb01ed implementation of the full HTTPS ecosystem, from the HTTPS API down to and including cryptographic algorithms such as RSA and AES.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/project-parade\/\" target=\"_blank\" rel=\"noopener noreferrer\">Project Parade<\/a> is parallelizing a large class of seemingly sequential applications by treating runtime dependencies as symbolic values. The results of this project are leading to substantial performance gains in popular algorithms for machine learning and big data.<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/project-premonition\/\" target=\"_blank\" rel=\"noopener noreferrer\">Project Premonition<\/a> aims to detect pathogens before they cause outbreaks, by creating new technologies to autonomously locate, collect and computationally analyze the blood-borne pathogens carried by mosquitoes.<\/li>\n<\/ul>\n<h2>Want to be part of the industrial research cycle?<\/h2>\n<p>No matter if you\u2019re exploring or focusing, the ride at Microsoft Research is an exciting one.\u00a0 If you are interested in joining us on this journey, please visit our <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/careers\/\">careers page<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Thomas Ball, Research Manager, Research in Software Engineering (RiSE) group, Microsoft Research The industrial research cycle Here is what I have told new hires of Microsoft Research (MSR) since I became a manager some 14 years ago: MSR gives you the freedom to explore and expand the bounds of scientific knowledge, as in academia, [&hellip;]<\/p>\n","protected":false},"author":39507,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr-author-ordering":[],"msr_hide_image_in_river":0,"footnotes":""},"categories":[194488],"tags":[231761,195131,231764,231767,231770,231758,231773],"research-area":[13560],"msr-region":[],"msr-event-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-impact-theme":[],"msr-promo-type":[],"msr-podcast-series":[],"class_list":["post-359282","post","type-post","status-publish","format-standard","hentry","category-program-languages-and-software-engineering","tag-advance-science","tag-computer-science-education","tag-defect-detection","tag-driver-quality","tag-empirical-software-engineering","tag-the-industrial-research-cycle","tag-tools-for-software-engineers","msr-research-area-programming-languages-software-engineering","msr-locale-en_us"],"msr_event_details":{"start":"","end":"","location":""},"podcast_url":"","podcast_episode":"","msr_research_lab":[],"msr_impact_theme":[],"related-publications":[],"related-downloads":[],"related-videos":[],"related-academic-programs":[],"related-groups":[144812,144860],"related-projects":[170993,169817],"related-events":[],"related-researchers":[],"msr_type":"Post","byline":"","formattedDate":"January 30, 2017","formattedExcerpt":"By Thomas Ball, Research Manager, Research in Software Engineering (RiSE) group, Microsoft Research The industrial research cycle Here is what I have told new hires of Microsoft Research (MSR) since I became a manager some 14 years ago: MSR gives you the freedom to explore&hellip;","locale":{"slug":"en_us","name":"English","native":"","english":"English"},"_links":{"self":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts\/359282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/users\/39507"}],"replies":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/comments?post=359282"}],"version-history":[{"count":11,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts\/359282\/revisions"}],"predecessor-version":[{"id":687945,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/posts\/359282\/revisions\/687945"}],"wp:attachment":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/media?parent=359282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/categories?post=359282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/tags?post=359282"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=359282"},{"taxonomy":"msr-region","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-region?post=359282"},{"taxonomy":"msr-event-type","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-event-type?post=359282"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=359282"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=359282"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=359282"},{"taxonomy":"msr-promo-type","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-promo-type?post=359282"},{"taxonomy":"msr-podcast-series","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-podcast-series?post=359282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}