Portrait of Nikolai Tillmann

Nikolai Tillmann

Principal Software Engineer Manager

About

I recently joint the Tools for Software Engineers group, where I am leading an effort around cloud-based software engineering. We are hiring! If you are passionate about software engineering, drop me an email.

My main areas of research are mobile and cloud-based software engineering, crowd-sourced software engineering, program analysis, and testing.

A few years ago, I started the TouchDevelop project, which enables end-users to write programs for mobile devices on mobile devices. This project brings the excitement of the first programmable computers to mobile devices such as smartphones. touchdevelop.com

I also am leading the Pex project, a framework and tool for runtime verification and automatic test case generation for .NET applications based on parameterized unit testing and dynamic symbolic execution. Fakes, the test isolation framework formerly called Moles, shipped with Visual Studio 2012 / 2013. Code Digger is a radically simplified version of Pex, available as a free extension for Visual Studio 2012 / 2013.

To make the Pex engine readily available, I created Pex4Fun, a web-based version where anyone can write and explore code in a browser. pex4fun.com

When the idea came up for a coding game based on the Pex engine, we created Code Hunt. codehunt.com

Previously, I was involved in the Spur project, where I was working on a tracing Just-In-Time compiler for .NET and JavaScript code. I worked on AsmL, an executable modeling language that comes with a compiler and a test generation tool, and the Spec Explorer 2004 model-based testing tool. We developed XRT, a concrete/symbolic state exploration engine and software model-checker for .NET code. Spec Explorer 2007 is based on this engine, which is now productized internally by the Protocol Engineering Team at Microsoft to facilitate quality assurance of protocol documentation (link).

Before coming to Microsoft Research, I was involved in the development of a school management system in Germany.

Projects

Tools for Software Engineers

Established: June 29, 2012

The Tools for Software Engineers (TSE) team mission is "Enabling Microsoft to accelerate software development". TSE contributes to and innovates on major parts of Microsoft's engineering system. TSE's current focus is to shorten the continuous integration cycle time which is…

Model-based Testing with SpecExplorer

Established: December 10, 2008

Spec Explorer is a software development tool for advanced model-based specification and conformance testing.   New Version of Spec Explorer as an extension to Visual Studio is now available: Spec Explorer 2010 What are the core ideas behind Spec Explorer?…

Pex and Moles – Isolation and White box Unit Testing for .NET

Established: February 21, 2007

Pex automatically generates test suites with high code coverage using automated white box analysis. Pex is a Visual Studio add-in for testing .NET Framework applications. Moles supports unit testing by providing isolation by way of detours and stubs. The Moles…

AsmL: Abstract State Machine Language

Established: November 2, 2001

AsmL is an industrial-strength executable specification language. It can be used at any stage of the programming process: design, coding, or testing. It is fully integrated into the Microsoft .NET environment: AsmL models can interoperate with any other .NET assembly,…

Publications

2016

2015

2014

2013

2012

2011

2010

2009

2008

2007

2006

2005

2004

2003

2001

Projects

Other

Book

TouchDevelop: Programming on the Go
by R. Nigel Horspool, Nikolai Tillmann
Download | Amazon | APress

 

Conferences and workshops