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 the minimum time required for a typical source code change to move from changed sources via compilation and unit testing to deployed binaries. See projects CloudBuild, MSBuild vNext, and CloudStore.

TSE provides additional engineering services and tools. Objectives are to improve Code Reviews (see CodeFlow project), use engineering data to provide reports and insights for engineering optimization (see CodeMine project), and integrate operational data.



Project CloudBuild provides a cloud-based build and test system and service to thousands of developers in product groups across Microsoft. It provides fast, reliable, resource-effective, and convenient builds through incremental, cached, and scaled-out computations.

We recently open-sourced MSBuild, and we are currently working on MSBuild vNext, an evolution of previous build systems that combines a familiar build description language with a completely new execution engine. By leveraging fine-grained dataflow dependency information, MSBuild vNext  enables fast parallel incremental builds backed by a distributed cache.

The CloudStore manages the plethora of data produced by builds: drops, packages, symbols, test results, etc. It combines a persistent cloud-backed repository with distributed caches to support distributed builds.

Project CodeFlow streamlines the process of comparing code iterations and enables developers to collaborate on code reviews in real time.

Finally, CodeMine provides rich engineering data infrastructure and analysis for source code changes, software bugs, code reviews, testing and deployment to all product groups across Microsoft. It powers engineering dashboards , provides the data for the test prioritization and risk prediction.

Collaborate With Us!

TSE has combination of world class engineers and leading software engineering researchers. Our customers are product groups within Microsoft. We are always open to collaboration with academia and we often host visiting researchers. Our interns are typically students with interests in programming languages, distributed systems, information retrieval, or empirical software engineering.

About Internships

Internships at Microsoft last 12 weeks and can be of research or engineering nature. Most of our research projects are designed to result in a publication, which is especially valuable for PhD students. However, all our projects also focus on internal impact for Microsoft – that means solving real world industry problems. Accepted applicants will receive a competitive offer to join Microsoft USA in Redmond for the period of 12 weeks. Microsoft will cover travel expenses, provide corporate housing, and offers competitive salaries. During your internship you will be able to work with a team of high quality and experiences software engineers and researchers from Microsoft Research. More details can be provided once we got your application.

The internship application process for 2017 is now open. For details about the program and the projects, visit TSE Internships page.

How to apply

If you are interested in full time jobs on the Microsoft’s TSE team, please apply to one of our open positions.






Distributed Development Considered Harmful?
Ekrem Kocaguneli, Thomas Zimmermann, Christian Bird, Nachiappan Nagappan, Tim Menzies, Tom Zimmermann, Nachi Nagappan, in Proceedings of the International Conference on Software Engineering (Software Engineering in Practice track), IEEE, May 1, 2013, View abstract
The Design of Bug Fixes
Emerson Murphy-Hill, Thomas Zimmermann, Christian Bird, Nachiappan Nagappan, Tom Zimmermann, Nachi Nagappan, in Proceedings of the 35th International Conference on Software Engineering (ICSE 2013), IEEE, May 1, 2013, View abstract





Cross-project Defect Prediction
Thomas Zimmermann, Nachiappan Nagappan, Harald Gall, Emanuel Giger, Brendan Murphy, Tom Zimmermann, Nachi Nagappan, in Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/ FSE), Association for Computing Machinery, Inc., August 1, 2009, View abstract





Parameterized Unit Tests
Nikolai Tillmann, Wolfram Schulte, in Proceedings of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Association for Computing Machinery, Inc., January 1, 2005, View abstract, Download PDF