CSE
About CSE

The goal of the Center for Software Excellence (CSE) is to investigate radical approaches to help Microsoft deliver high-performing and reliable software. We believe our innovative approaches and tools are the keys to a new generation of software.

Overview

The Center for Software Excellence was founded in 1999 by Amitabh Srivastava as the Programmer Productivity Research Center (PPRC) in Microsoft Research, with the goal to investigate and create new approaches for Microsoft product groups to deliver high performing and reliable products. In 2004, Amitabh was asked to become Corporate Vice President of Windows Core Operating System Development, and PPRC moved to Windows as CSE. CSE members, tools and infrastructures have played a key role in the redesign of the Windows engineering process.

Throughout our existence, we have been dedicated to rapidly building and deploying tools and infrastructure to respond to the real needs of Microsoft software developers. CSE tools and technologies are practical realizations of theoretical research, and their value is proven daily in their use by large and small product groups alike. The following are a sample of CSE contributions to the Microsoft development process.

Vulcan is a binary transformation infrastructure that is used for building a wide range of custom tools for program analysis, optimization, and testing. Through the Vulcan API, developers and testers can build custom tools with very few lines of code for basic block counting, memory tracing, memory allocation, coverage, failure insertion, optimization, compiler auditing etc. CSE tools based on the Vulcan infrastructure include:

The BBT suite of optimization tools designed to help reduce the working-set requirements for a Win32 application by applying advanced static analysis and code layout heuristics, and integrating profile data gathered from monitoring the program execution flow.

The MaX dependency analysis framework for analyzing dependencies in large software systems such as Windows. Tools created with MaX are integral to Windows componentization efforts and sustained engineering practices.

CSE also develops tools for compile-time analysis. These tools detect defects in software security and correctness.

SPICE analyzes the flow of data across component boundaries and checks the transfer of data for proper validation.

ESP analyzes source code in large applications against a set of specified protocols and reports those execution paths that lead to a violation of the protocol.

espX examines source code for buffer overruns based on strong local checking and interface annotations added by programmers.

PREfix employs symbolic evaluation techniques to analyze the source code of large software systems for correctness. Automatic simulation of selected execution paths, without the need for instrumentation or test cases, enable the early detection of code defects even before the code is complete enough to run independently.

CSE tools and processes are used by product groups throughout Microsoft, including Windows, Office, SQL Server, Exchange, and XBox. CSE tools are playing an essential role in the development of Vista, the next generation of Windows, the most reliable and secure version ever. The innovative approaches of CSE will be fundamental in developing the generations of Microsoft software yet to come.