The Tools for Software Engineers (TSE) team's mission is to accelerate software development at Microsoft. 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 through measuring and eliminating waiting in the process of moving a source code change through a peer review, compilation, unit testing, program analysis, packaging to deployed binaries.
TSE team is led by Wolfram Schulte, who in the past managed the Research in Software Engineering team, one of the world’s top software engineering research groups. As a researcher, Wolfram has worked in the areas of programming languages, development tools and engineering data analytics. He is this year's recipient of the Harlan D. Mills award.
CodeFlow is Microsoft's de-facto code review system. It streamlines the process of comparing code iterations and enables developers to collaborate on code reviews in real time.
Project CloudBuild provides a cloud-based build, test and program analysis 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.
Artifact Services: Builds produce plenty of data: drops, packages, symbols, test results, etc. Artifact services is a cloud backed store providing de-duplicated ingress/egress and optionally differential compression for efficient moving of data between data centers.
CodeMine provides rich engineering data infrastructure and analysis for source code changes, software bugs, code reviews, and testing to product groups across Microsoft. It powers engineering dashboards, provides the data for the test prioritization and risk prediction. Enterprise Analytics takes CodeMine or VSTS data, curates it for further analysis, and makes it available for self service to internal and external customers.
MSBuild vNext is an evolution of previous build system 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 and incremental builds backed by a distributed cache.
TSE has combination of about 60 world class engineers and leading software engineering researchers.
We are looking for full-time software engineers to join us in Redmond, WA. We have openings on most of our projects. For details, see:
Collaborate with us
Our customers are all product groups within Microsoft. We are always open to collaboration with academia and often host visiting researchers. Our interns are typically students with interests in programming languages, distributed systems, information retrieval, or empirical software engineering. Contact Wolfram Schulte or Jacek Czerwonka if you want to discuss a collaboration proposal.
TSE :: Accelerate Microsoft's Software Development
- Hamed Esfahani, Jonas Fietz, Qi Ke, Alexei Kolomiets, Erica Lan, Erik Mavrinac, Wolfram Schulte, Newton Sanches, and Srikanth Kandula, CloudBuild: Microsoft’s Distributed and Caching Build Service, in SEIP, IEEE – Institute of Electrical and Electronics Engineers, June 2016.
- Pantazis Deligiannis, Matt McCutchen, Paul Thomson, Shuo Chen, Alastair F. Donaldson, John Erickson, Cheng Huang, Akash Lal, Rashmi Mudduluru, Shaz Qadeer, and Wolfram Schulte, Uncovering Bugs in Distributed Storage Systems during Testing (not in Production!), in 14th USENIX Conference on File and Storage Technologies (FAST), February 2016.
- Jacek Czerwonka, Michaela Greiler, and Jack Tilford, Code Reviews Do Not Find Bugs. How the Current Code Review Best Practice Slows Us Down, IEEE – Institute of Electrical and Electronics Engineers, 17 May 2015.
- Kim Herzig, Michaela Greiler, Jacek Czerwonka, and Brendan Murphy, The Art of Testing Less without Sacrificing Quality, in Proceedings of the 2015 International Conference on Software Engineering, IEEE – Institute of Electrical and Electronics Engineers, May 2015.
- Christopher Theisen, Kim Herzig, Patrick Morrison, Brendan Murphy, and Laurie Williams, Approximating Attack Surfaces with Stack Traces, in Companion Proceedings of the 37th International Conference on Software Engineering, IEEE – Institute of Electrical and Electronics Engineers, May 2015.
- Kim Herzig and Nachiappan Nagappan, Empirically Detecting False Test Alarms Using Association Rules, in Companion Proceedings of the 37th International Conference on Software Engineering, IEEE – Institute of Electrical and Electronics Engineers, May 2015.
- Milos Gligoric, Wolfram Schulte, Chandra Prasad, Danny van Velzen, Iman Narasamdya, and Benjamin Livshits, Automated Migration of Build Scripts using Dynamic Analysis and Search-Based Refactoring, ACM – Association for Computing Machinery, October 2014.
- Kivanc Muslu, Christian Bird, Nachiappan Nagappan, and Jacek Czerwonka, Transition from Centralized to Distributed VCS: A Microsoft Case Study on Reasons, Barriers, and Outcomes, in Proceedings of the International Conference on Software Engineering, ACM, June 2014.
- Brendan Murphy, JAcek Czerwonka, and Laurie Williams, Branching Taxonomy, no. MSR-TR-2014-23, 26 February 2014.
We are looking for full-time software engineers as well as interns in Redmond, WA. We have openings in our MSBuild vNext, CloudBuild, analytics and data management team.