Opening the world of advanced software technology
By Judith Bishop, 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 portal.
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 (CNTK) on GitHub. 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, Microsoft’s chief speech scientist, said CNTK has proved more efficient 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.
With data security being top-of-mind for everyone, our Systems team built and released Ironclad 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 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 (verifying the security on a complete software stack) and IronFleet (verifying the safety and liveness of distributed systems) are now available on GitHub. Ironclad builds on several of our other open source tools such as Dafny which, in turn, relies on the award-winning Z3 SMT solver. 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# 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.
The 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. 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.