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.
Jon is an Assistant Professor directing research in Software Engineering and Software Systems at George Mason University. His research makes it easier for developers to create reliable and secure software by improving software testing and program analysis. Jon's work on accelerating software testing has been recognized with an ACM SIGSOFT Distinguished Paper Award (ICSE '14 - Unit Test Virtualization with VMVM), and was the basis for an industrial collaboration with Electric Cloud (now CloudBees). His program analysis research has resulted in several widely adopted runtime systems for the JVM, including the Phosphor taint tracking system (OOPSLA '14) and CROCHET checkpoint/rollback tool (ECOOP '18). His research has been funded by the NSA and the NSF, and he is the recipient of the NSF CAREER award. At George Mason, Jon teaches courses in distributed systems, web development, and program analysis. His teaching at GMU has been recognized with a departmental award. Jon serves on a variety of program committees, and in 2020 will be the Co-Chair of the PLDI Artifact Evaluation Committee. As part of his efforts to broaden the participation of underrepresented groups in computing, Jon co-organizes the PL/SE mentoring workshop at SPLASH (in 2017, 2018, 2019 and 2020).