Your Flying Car is Ready: Amazing Programming From the Future, Today!

56e5c49368a2e0ab999848a8d9e3c116?s=47 Craig Stuntz
September 29, 2014

Your Flying Car is Ready: Amazing Programming From the Future, Today!

What if simply writing tests was enough to produce a program which makes them pass? What if your compiler could guarantee that your “Heartbleed-free” OpenSSL replacement follows the TLS specification to the letter, and even finds inconsistencies in the specification itself? What if you could write a test which showed that your code had no unintentional behavior, ever? Microsoft Research is well known for its contributions to Kinect, F#, the Entity Framework, and more, but it's also the home of a number of programming tools which do things which many programmers would consider surprising, if not impossible. But they work, and in this session you'll see them in action.

Like the idea of code contracts, but concerned about runtime performance and errors? The Dafny language can check contracts at compile time. The Z3 theorem prover can solve problems from specifications alone, and is used to make Hyper-V and Windows Azure memory safe. The F7 specification language for F# was used by its authors used it to not only produce a TLS implementation which probably follows the spec, but also identified a dangerous hole in the TLS specification itself. You'll learn how Amazon uses the TLA+ specification language to prove that there are no edge cases in its internal protocols. Far from being research toys, these tools are in daily use in cases where stability, security, and reliability of code matters most. Can they help with your hardest problems? You might be surprised!


Craig Stuntz

September 29, 2014