{"id":312785,"date":"2016-11-03T06:00:47","date_gmt":"2016-11-03T13:00:47","guid":{"rendered":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/?p=312785"},"modified":"2016-11-01T12:22:05","modified_gmt":"2016-11-01T19:22:05","slug":"sriram-rajamani-squashed-bugs-on-road-to-leadership-role-in-microsofts-india-research-lab","status":"publish","type":"post","link":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/blog\/sriram-rajamani-squashed-bugs-on-road-to-leadership-role-in-microsofts-india-research-lab\/","title":{"rendered":"Sriram Rajamani squashed bugs on road to leadership role in Microsoft\u2019s India research lab"},"content":{"rendered":"<p><em>By John Roach, Writer, Microsoft Research<\/em><\/p>\n<p>After a handful of years writing code for the telecommunications and design automation industries, computer bugs got the best of <a href=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/people\/sriram\/\" target=\"_blank\">Sriram Rajamani<\/a>. He witnessed firsthand how poorly constructed code caused programs to crash and swung doors open for hackers.<\/p>\n<div id=\"attachment_313631\" style=\"width: 411px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-313631\" class=\"wp-image-313631\" src=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-content\/uploads\/2016\/10\/sriram_2-1024x683.jpg\" alt=\"Sriram Rajamani\" width=\"401\" height=\"267\" srcset=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-content\/uploads\/2016\/10\/sriram_2-1024x683.jpg 1024w, https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-content\/uploads\/2016\/10\/sriram_2-300x200.jpg 300w, https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-content\/uploads\/2016\/10\/sriram_2-768x512.jpg 768w\" sizes=\"auto, (max-width: 401px) 100vw, 401px\" \/><p id=\"caption-attachment-313631\" class=\"wp-caption-text\"><em>Sriram Rajamani Managing Director, Microsoft Research India Lab<\/em><\/p><\/div>\n<p>\u201cI saw how difficult it was to build real software and real computer systems that work reliably and perform in a way that helps users and society,\u201d says Rajamani, who in August became the <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" href=\"http:\/\/news.microsoft.com\/en-in\/microsoft-names-sriram-rajamani-as-new-managing-director-of-its-india-research-lab\/\" target=\"_blank\">new managing director<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> of Microsoft\u2019s research lab in India.<\/p>\n<p>\u201cAnd I started to compare that to how people build bridges. Bridges don\u2019t fall down all the time. Why is that?\u201d<\/p>\n<p>The answer, he discovered, involves experience gained over time \u2013 the software industry is about 70 years old; people have been building bridges for millennia, long enough for a formal design and engineering process to take root and hold.<\/p>\n<p>For example, civil engineers use mathematical models to verify that bridge designs will perform as advertised. \u201cWe know that before we build the bridge,\u201d Rajamani says.<\/p>\n<p>To get rid of the bugs in his code, Rajamani solicited advice from computer scientists at the University of California at Berkeley who specialize in formal methods for programming hardware and software.<\/p>\n<p>\u201cI liked what was being done there so much that I decided I would leave my job and go do a PhD on this topic,\u201d he says.<\/p>\n<p>The switch to a research career focused on building strong and reliable computer systems is emblematic of a trait that observers routinely note about Rajamani: He always picks problems to work on that generate impact.<\/p>\n<p>\u201cHe tackles problems that are hard but important and whose solutions are useful and deployable,\u201d says <a href=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/people\/wing\/\" target=\"_blank\">Jeannette Wing<\/a>, corporate vice president, Microsoft Research. \u201cIt is very rare to find a researcher who can span the spectrum from basic research to scalable solutions.\u201d<\/p>\n<h2>Device driver bugs<\/h2>\n<p>After graduate school, in 1999, Rajamani joined Microsoft\u2019s research lab in Redmond to work on the design of bug-free software, a critical issue for the company. Windows, the flagship operating system, was running more than 90 percent of the world\u2019s computers and it was facing criticism that it crashed too frequently.<\/p>\n<p>Research suggested that many of the crashes stemmed not from the operating system itself, but from bugs in device drivers \u2013 snippets of code that control communications between the operating system and devices such as the keyboard, screen and printer.<\/p>\n<p>To squash these bugs, Rajamani joined forces with <a href=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/people\/tball\/\" target=\"_blank\">Thomas Ball<\/a>, an expert in program analysis who also had recently joined Microsoft\u2019s research lab.<\/p>\n<p>\u201cWe worked well together because we had a common goal, which was device driver quality, but we brought to it different perspectives,\u201d recalls Ball.<\/p>\n<p>The collaboration resulted in a so-called device driver verifier, a type of quality assurance program that checks for bugs before the drivers are run, thus heading off a driver-caused system error.<\/p>\n<p>The project substantially improved Windows reliability and brought widespread recognition to the researchers within Microsoft and throughout the industry.<\/p>\n<h2>A magnet in India<\/h2>\n<p>In 2006, Rajamani was among a handful of rising stars in Microsoft\u2019s research organization recruited to join the company\u2019s newly opened lab in his native India. Mid-career experts in algorithms, machine learning, security, programming languages, systems and human-computer interaction were also lured to the lab.<\/p>\n<p>The strategy, explains Rajamani, was to use star power to attract and retain talented computer scientists in India, bucking the trend of India\u2019s top graduates moving to the U.S. and Europe for jobs.<\/p>\n<p><a href=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/people\/adityan\/\" target=\"_blank\">Aditya Nori<\/a>, for example, joined Rajamani\u2019s group shortly after the lab opened. He\u2019d just earned a PhD in theoretical computer science in India and read about Microsoft\u2019s new venture in the newspaper.<\/p>\n<p>\u201cThe first two years were like a second PhD for me because I switched fields,\u201d he recalls. \u201cAnd Sriram was a mentor. I learned a lot from him. He led by example and that is very important, especially for people who are young and starting off their careers.\u201d<\/p>\n<p>One of the group\u2019s early projects, <a href=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/project\/the-yogi-project\/\" target=\"_blank\">Yogi<\/a>, involved improvements to the device driver verifier that enabled bug checking both before and during operation, which added another layer of protection against crashes.<\/p>\n<p>Another project focused on security and privacy in the cloud, an area that Rajamani was eager to explore in order to stay on top of technology trends and adapt his research accordingly.<\/p>\n<p>To tackle the problem, he collaborated with <a href=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/people\/manuelc\/\" target=\"_blank\">Manuel Costa<\/a>, a researcher in Microsoft\u2019s Cambridge, U.K., lab, and <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" href=\"https:\/\/people.eecs.berkeley.edu\/~sseshia\/\" target=\"_blank\">Sanjit Seshia<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, a professor in the department of electrical engineering and computer sciences at the University of California at Berkeley, to design methods for programming new so-called trusted hardware in the cloud, and verify the security of programs that run on this hardware.<\/p>\n<p>As Rajamani\u2019s earlier research did, this latest project is having impact.<\/p>\n<p>\u201cThere is a growing community that is starting to work on this topic of verifying programs running on trusted hardware,\u201d Seshia says.<\/p>\n<p>Microsoft, he notes, is interested in the work as a way to provide security guarantees for its cloud service, Azure.<\/p>\n<p>Rajamani\u2019s eye for good problems, Seshia adds, also bodes well for the future of Microsoft\u2019s research lab in India.<\/p>\n<p>\u201cThat quality is what you\u2019d like to have in a technical leader,\u201d he says.<\/p>\n<h2>Unique opportunities in India<\/h2>\n<p>Nearly 1 billion people in India currently lack access to the Internet, but new connections are growing quickly. Researchers expect 250 million people in India to come online in the next few years.<\/p>\n<p>\u201cAnd then another 250 million after that,\u201d Rajamani says, explaining that a major opportunity for the India lab is to design systems that use technology to improve the lives of these new-comers to the Internet, and build on the experience to design solutions for other markets around the world.<\/p>\n<p>India, he explains, is representative of much of the world outside of the U.S. and, as a result, can serve as a testbed for the services that make technology meaningful and valuable to the next billion people.<\/p>\n<p>Microsoft researchers in the India lab\u2019s <a href=\"https:\/\/newed.any0.dpdns.org\/en-us\/research\/group\/technology-for-emerging-markets\/\" target=\"_blank\">Technology for Emerging Markets<\/a> group, for example, have already spent more than 10 years exploiting the country\u2019s wide adoption of mobile phones to address needs in healthcare, education and agriculture, Wing notes.<\/p>\n<p>\u201cAs new lab director, Sriram is enhancing these efforts by bringing in researchers in other areas, such as systems and machine learning, to work with Technology for Emerging Markets to create new technologies to address these concerns,\u201d she says.<\/p>\n<p>Rajamani says he is bullish on finding and tackling problems that will impact markets everywhere around the world.<\/p>\n<p>\u201cOur dream is not to just design stuff for India,\u201d he says. \u201cI think of India as a testbed that looks very different, but a lot of our researchers are very international, they have lived in the U.S. or Europe, and so I hope it gives a different point of view to design systems that are applicable more broadly.\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By John Roach, Writer, Microsoft Research After a handful of years writing code for the telecommunications and design automation industries, computer bugs got the best of Sriram Rajamani. He witnessed firsthand how poorly constructed code caused programs to crash and swung doors open for hackers. \u201cI saw how difficult it was to build real software [&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":[194487,194488,194489],"tags":[216749,200779,216743,216740,187401,186612,216737,203997,216746,216752,197579,187221],"research-area":[13560,13558,13547],"msr-region":[],"msr-event-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-impact-theme":[],"msr-promo-type":[],"msr-podcast-series":[],"class_list":["post-312785","post","type-post","status-publish","format-standard","hentry","category-privacy","category-program-languages-and-software-engineering","category-security","tag-bug-checking","tag-bug-free-software","tag-device-driver-verifier","tag-device-drivers","tag-operating-system","tag-program-analysis","tag-reliable-computer-systems","tag-sriram-rajamani","tag-system-error","tag-trusted-hardware","tag-university-of-california-at-berkeley","tag-windows","msr-research-area-programming-languages-software-engineering","msr-research-area-security-privacy-cryptography","msr-research-area-systems-and-networking","msr-locale-en_us"],"msr_event_details":{"start":"","end":"","location":""},"podcast_url":"","podcast_episode":"","msr_research_lab":[199561,199562,199565],"msr_impact_theme":[],"related-publications":[],"related-downloads":[],"related-videos":[],"related-academic-programs":[],"related-groups":[144784],"related-projects":[],"related-events":[],"related-researchers":[],"msr_type":"Post","byline":"","formattedDate":"November 3, 2016","formattedExcerpt":"By John Roach, Writer, Microsoft Research After a handful of years writing code for the telecommunications and design automation industries, computer bugs got the best of Sriram Rajamani. He witnessed firsthand how poorly constructed code caused programs to crash and swung doors open for hackers.&hellip;","locale":{"slug":"en_us","name":"English","native":"","english":"English"},"_links":{"self":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/posts\/312785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/users\/39507"}],"replies":[{"embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/comments?post=312785"}],"version-history":[{"count":7,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/posts\/312785\/revisions"}],"predecessor-version":[{"id":313976,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/posts\/312785\/revisions\/313976"}],"wp:attachment":[{"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/media?parent=312785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/categories?post=312785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/tags?post=312785"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=312785"},{"taxonomy":"msr-region","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/msr-region?post=312785"},{"taxonomy":"msr-event-type","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/msr-event-type?post=312785"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=312785"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=312785"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=312785"},{"taxonomy":"msr-promo-type","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/msr-promo-type?post=312785"},{"taxonomy":"msr-podcast-series","embeddable":true,"href":"https:\/\/newed.any0.dpdns.org\/en-us\/research\/wp-json\/wp\/v2\/msr-podcast-series?post=312785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}