Download Research Tools
I would like to thank the broad computing research community which has taken the time to share its thoughts and concerns about the recent closure of our research lab in Silicon Valley. I share with all of you a strong belief in the value of fundamental research and its importance for the long-term viability of our company, our industry, and our society, and want to reassure you of Microsoft’s commitment to fundamental research. Unfortunately, no organization—governmental, industrial, or academic—is immune to change and the technology business in particular is defined by rapid evolution. Technology businesses need to constantly adapt in order to survive. In July, our new CEO, Satya Nadella, discussed how Microsoft would transform to be the productivity and platform company for a mobile-first, cloud-first world, and evolve its culture to be more nimble. This transformation included reducing our workforce by 18,000 jobs. Each organization within Microsoft, including Microsoft Research, is accountable for driving changes in culture and organization, and each has to participate in the job reductions. No one at Microsoft feels good about the fact that a significant number of our friends and colleagues were laid off. These people contributed to the success of Microsoft over many years. As one can readily imagine, the decisions made about how the cuts were implemented within Microsoft Research were extremely complicated and personally painful. We feel with you the sense of loss that has been evoked by the closing of our Silicon Valley lab. We also understand the concerns that have been raised about the impact of these layoffs on certain parts of the community. We appreciate the community effort in helping those who have been impacted in the process, and we will be part of this effort.
Please understand, though, that despite these layoffs, Microsoft maintains its commitment to fundamental research at a historically high level. Microsoft Research still stands strong with more than 1,000 people in labs worldwide, making it one of the largest research institutions of its kind in the world, either industrial or academic. Microsoft Research continues to be one of the very few organizations in industry that does true academic-style open research. We will continue to partner with the academic research community not only in moving forward the state of the art in computing but also in developing computing talent around the world. As he was retiring from his role as Chief Research Officer more than a year ago, the founder of Microsoft Research, Rick Rashid, said that what he cared about most was that Microsoft Research and its people would stay true to its values: a commitment to fundamental research and a commitment to creating a future, both for Microsoft, and for the field of computing. I assure you that those values have not changed.
—Harry Shum, Executive Vice President, Technology & Research
Well, now it is. Today, we are pleased to announce the launch of Code Hunt, a browser-based game for anyone who is interested in coding. We built Code Hunt to take advantage of the fact that any task can be more effective and sustainable when it’s fun. And Code Hunt is fun! It uses puzzles, which players explore by means of clues presented as test cases. Players iteratively modify their code to match the functional behavior of secret solutions. Once their code matches, lights flash and sounds play, letting players know that they have “captured” the code. Players then get a score, which depends on how elegant their solution is, and are encouraged to move on to the next puzzle or level.
When we demoed Code Hunt a few months ago, we were amazed at the interest it elicited across groups at Microsoft, from those involved with K-12 education to those focused on college recruiting. However, today we want to talk about how Microsoft Research Asia used Code Hunt during their annual Beauty of Programming (BOP) event, a competition that attracts thousands of students in the Greater China Region (GCR).
In the past, the BOP competition gave students specifications for problems and then checked their solutions automatically using a test suite. This is the traditional approach: students pit their wits against each other—and against the clock—to create a solution to a defined problem. While this kind of coding is similar to what they will encounter in courses or later in their careers, it isn’t necessarily fun.
Code Hunt is different. Instead of giving students a problem and comparing their solutions to a set of fixed test cases, Code Hunt does the opposite: it presents an empty slate to the user and a set of constantly changing test cases. It thus teaches coding as a by-product of solving a problem that is presented as pattern matching inputs and outputs. The fun is in finding the pattern. Fun is seen as a vital ingredient in accelerating learning and retaining interest during what might be a long and sometimes boring journey towards obtaining a necessary skill—or in this case, winning a competition. The GCR team recognized that Code Hunt would not only make the BOP competition more fun, but it would also enable them to check the solutions more quickly and accurately.
With considerable optimism, we opened Code Hunt to BOP competitors in April. In three rounds, 2,353 students scored in the game, and the contestants solved an average of 55.7% of the puzzles. Since Code Hunt runs on Microsoft Azure, we have all the statistics. We could see that, on average, it took players 41 tries to capture the code for puzzles. However, we were really interested in the 350 top students who solved all of the puzzles—even the most difficult ones. These students needed only 7.6 tries on average to solve a puzzle, showing that Code Hunt can reliably surface the better coders. From these students, 13 were selected to proceed to the finals, and we wish them luck.
Code Hunt was developed by a team in Microsoft Research led by Principal Development Lead Nikolai Tillmann and Principal Research Software Engineer Peli de Halleux. It is based on Pex, Microsoft Research’s state-of-the-art implementation of dynamic symbolic execution (analyzing a program to determine what inputs cause each part of a program to execute), which is available as a Power Tool in Microsoft Visual Studio.
We look forward to Code Hunt’s further application and would be happy to receive inquiries regarding competitions or courses. But remember, anyone can play Code Hunt—for fun or to hone their coding skills. Just go to www.codehunt.com and start coding!
—Judith Bishop, Director of Computer Science, Microsoft Research, and Guobin Wu, Research Program Manager, Microsoft Research Asia
Can scientists predict what happens when they introduce a change into a living system—for example, if they change the structure of a gene or administer a drug? Just as changing one letter can completely change the meaning of a word, the change of a single letter of the genetic code (referred to as a single nucleotide polymorphism, or SNP) can subtly affect the meaning of a gene’s instructions or alter them completely, making the effect of any change extremely hard to predict. Such changes are thought to be responsible for much of the variation between members of a single species—for example, in susceptibility to different diseases. The ability to successfully predict the effect of such changes would accelerate drug discovery and provide a deeper understanding of the processes of life.
In collaboration with Jasmin Fisher at Microsoft Research Cambridge, professor Yanay Ofran and his colleagues at Bar Ilan University have embarked on a program of scientific research that aims to resolve some of the questions underlying this overall goal, and some of their early results have now been published.
One of the researchers’ first tasks was to determine whether it is possible to predict how a complex network of biochemical interactions will change when a SNP (pronounced “snip”) alters the function of one of the network’s components. In an August 2012 paper entitled, “Static Network Structure Can Be Used to Model the Phenotypic Effects of Perturbations in Regulatory Networks” (available at Bioinformatics with paid subscription), the authors describe their success in analyzing static models of biological networks and correctly predicting the response to changes more than 80 percent of the time. This enables the functions of the network to be deduced, the foundation for building a more expressive dynamic model.
Building static networks is a challenge in itself; before beginning this work, the researchers needed to understand which genes are active in a particular cell and what they do. In their latest publication entitled, “Assessing the Relationship between Conservation of Function and Conservation of Sequence Using Photosynthetic Proteins” (available at Bioinformatics with paid subscription), the Ofran lab has shown that, while sets of related genes with similar structure diverge in function more quickly than previously thought, selected smaller pieces of each gene may still be useful in predicting function.
There are many unresolved challenges along the way to the eventual goal of predicting the effect of a SNP—understanding which genes are switched on in which cells and how drugs interact with proteins are just two active areas of investigation—but once the goal is reached, an understanding of the functions of all genes and how changes affect biological systems could lead to the development of computational models to predict and cure many diseases.
—Simon Mercer, Director of Health and Wellbeing, Microsoft Research Connections