Debugging the Performance of Maven’s Test Isolation: Experience Report
Testing is the most common approach used in industry for checking software correctness. Developers frequently practice reliable testing-executing individual tests in isolation from each other-to avoid test failures caused by test-order dependencies and shared state pollution (e.g., when tests mutate static fields). A common way of doing this is by running each test as a separate process. Unfortunately, this is known to introduce substantial overhead. This experience report describes our efforts to better understand the sources of this overhead and to create a system to confirm the minimal overhead possible. We found that different build systems use different mechanisms for communicating between these multiple processes, and that because of this design decision, some build systems could be faster than others. Through this inquiry we discovered a significant performance bug in Apache Maven’s test running code, which slowed down test execution by on average 300 milliseconds per-test when compared to a competing build system, Ant. When used for testing real projects, this can result in a significant reduction in testing time. We submitted a patch for this bug which has been integrated into the Apache Maven build system, and describe our ongoing efforts to improve Maven’s test execution tooling.
Tue 21 JulDisplayed time zone: Tijuana, Baja California change
12:10 - 13:10 | BUG LOCALIZATION AND TEST ISOLATION Technical Papers at Zoom Chair(s): Mattia Fazzini University of Minnesota Public Live Stream/Recording. Registered participants should join via the Zoom link distributed in Slack. | ||
12:10 20mTalk | Scaffle: Bug Localization on Millions of Files Technical Papers Michael Pradel University of Stuttgart, Vijayaraghavan Murali Facebook, Inc., Rebecca Qian Facebook, Inc., Mateusz Machalica Facebook, Inc., Erik Meijer , Satish Chandra Facebook DOI Media Attached | ||
12:30 20mTalk | Abstracting Failure-Inducing Inputs Technical Papers Rahul Gopinath CISPA Helmholtz Center for Information Security, Alexander Kampmann CISPA Helmholtz Center for Information Security, Nikolas Havrikov CISPA Helmholtz Center for Information Security, Ezekiel Soremekun CISPA Helmholtz Center for Information Security, Andreas Zeller CISPA Helmholtz Center for Information Security DOI Pre-print Media Attached | ||
12:50 20mTalk | Debugging the Performance of Maven’s Test Isolation: Experience Report Technical Papers Pengyu Nie The University of Texas at Austin, Ahmet Celik Facebook, Matthew Coley , Aleksandar Milicevic , Jonathan Bell Northeastern University, Milos Gligoric The University of Texas at Austin DOI |