Faster, more reliable builds
As software grows in size and complexity, the time and complexity of building (compiling, linking, testing) these applications has grown as well, and today's developers are faced with increasingly slow builds of hours to days per application. Moreover, sometimes tests fail, in turn causing the builds fail, often times non-deterministically, after having run for a long time. These slow and flaky test executions hurt programmer agility, as the frequency with which code can be built and tested directly impacts the productivity of developers: longer build times mean a longer wait before determining if a change to the application being built was successful. Moreover, flaky tests (which can pass or fail non-deterministically) can make debugging those failed tests even more complicated, since a developer can’t assume that the cause of a test failure is tied to their recent change. In this talk, I will present some of my recent research in accelerating test executions and detecting flaky tests, allowing developers to significantly accelerate their test executions.