Opening the world of advanced software technology

Published

Open source MRCblog 900x300-01

By Judith Bishop (opens in new tab), Director of Computer Science, Microsoft Research

In the world of information technology, the word “open” can mean many different things. For me, it refers to how software is both written and used, throughout its lifetime. At Microsoft Research, I am fortunate to work alongside a group of 40 researchers, who have released more than 50 open source tools for use by developers, academics, and students. The tools span a wide range of application areas from cryptography to artificial intelligence, programming models to education. They are all categorized and showcased on our Open Source for Academics (opens in new tab) portal.

Microsoft Research Podcast

What’s Your Story: Jacki O’Neill

Jacki O'Neill saw an opportunity to expand Microsoft research efforts to Africa. She now leads Microsoft Research Africa, Nairobi (formerly MARI). O'Neill talks about the choices that got her there, the lab’s impact, and how living abroad is good for innovation.

Microsoft is committed to open source technology and innovations. We strive for new contributions every day, and this leads to invaluable benefits for both the company and the technology community. Together, we’ve helped drive reduced time to market, improved products through community collaboration, increased interoperability and innovation in a thriving technology ecosystem. Additionally, and most importantly, we’ve made cutting-edge tools accessible to the new generation of computer scientists, who can use and improve them in the years to come.

To help show the breadth and depth of our open source tools, let’s look at three of them from across the spectrum.

Computation Network Toolkit

To fuel the exciting world of Artificial Intelligence, we’ve released The Computation Network Toolkit (opens in new tab) (CNTK) on GitHub (opens in new tab). This toolkit offers production-quality, multi-machine, multi-GPU, and highly efficient recurrent neural network (RNN) training for speech, image, and text. In internal tests, Xuedong Huang (opens in new tab), Microsoft’s chief speech scientist, said CNTK has proved more efficient (opens in new tab) than four other popular computational toolkits currently used by developers. These performance gains are vital in the fast-moving field of deep learning. Typically, large deep learning tasks can take weeks, but with new improvements and better technologies, researchers can innovate faster and more efficiently. The figure below shows average speed comparisons with other similar toolkits.

speed_comparison (opens in new tab)

Ironclad Apps

With data security being top-of-mind for everyone, our Systems team built and released Ironclad (opens in new tab) for building apps that securely transmit data between machines with the guarantee that every instruction executed adheres to a formal abstract specification of the app’s behavior. The software to achieve this level of security includes a verified kernel; verified drivers; verified system and crypto libraries. Reading through the publication (opens in new tab) announcing IronClad, I am struck by how fundamental theory and mathematics is to ensuring that security really works in practice. The specifications, code, proofs, and tools for Ironclad Apps (opens in new tab) (verifying the security on a complete software stack) and IronFleet (opens in new tab) (verifying the safety and liveness of distributed systems) are now available on GitHub (opens in new tab). Ironclad builds on several of our other open source tools such as Dafny (opens in new tab) which, in turn, relies on the award-winning (opens in new tab) Z3 SMT solver (opens in new tab).  Ironclad also employs SymDiff to verify relational properties.

The F# Foundation

While many of our projects have only recently been released as open source, some have been in the open source world for 10+ years. Many of these long-standing projects have matured, moving out of our labs and into the hands of foundations and associations that can take them to new heights.

F# (opens in new tab) is a mature, cross-platform, functional-first programming language; the embodiment of open source.

“Since 2014, the F# compiler and Visual F# tools have had over 40 contributors from 12 or more countries. Major features of F# have been implemented by the community, including full cross- platform support on Linux, Android, iOS and Mac,” said Don Syme, Principal Researcher.

Microsoft Open Source ChallengeThe Open Source Challenge

With all these wonderful tools available, it’s important to get them into the hands of students. One of the ways we are achieving this is through the Microsoft Open Source Challenge (opens in new tab). We are looking for innovative uses of our research open source software. There is $15,000 in prizes to be won, and the possibility to interview for an internship at Microsoft Research. So it’s a great time to get involved. But don’t delay, the deadline to register is April 11, 2016.

 

Learn more

Continue reading

See all blog posts