Abstract of Talk

PexForFun - Programming Exercises and Automatic Grading in the Cloud
-Nikolai Tillmann

Abstract: PexForFun can be used to learn software programming at many levels, from high school all the way through graduate courses. With PexForFun, the student edits the code in any browser – with Intellisense - and we execute it and analyze it for you in the cloud. PexForFun supports C#, VisualBasic and F#. PexForFun finds interesting and unexpected input values that help students understand what their code is actually doing. Under the hood, PexForFun uses dynamic symbolic execution to thoroughly explore feasible execution paths. The real fun starts with Coding Duels where the student has to write code that implements a specification. PexForFun finds any discrepancies between the student’s code and the specification. PexForFun connects teachers, curriculum authors and students in a unique social experience, tracking and streaming progress updates in real time.

Biography: Nikolai Tillmann. Principal Research Software Design Engineer, Microsoft Research. Nikolai Tillmann works at Microsoft Research on combining dynamic and static program analysis techniques. He currently leads the Pex project, a framework for runtime verification and automatic test-case generation for .NET applications based on parameterized unit testing and dynamic symbolic execution. In another application, http://pexforfun.com, the same underlying technology forms the basis of a serious game that helps students improve their programming skills. He also works on the Spur project, a tracing Just-In-Time compiler for .NET and JavaScript code. Previously he worked on AsmL, an executable modeling language, and the Spec Explorer 2004 model-based testing tool. He co-developed XRT, a concrete/symbolic state exploration engine and software model-checker for .NET.