Evaluating Test-Suite Reduction in Real-World Software Evolution
Test-suite reduction (TSR) speeds up regression testing by removing redundant tests from the test suite, running fewer tests on the future code changes. A developer considering TSR must consider the cost of potentially removing tests that can detect faults in the future. Furthermore, the developer also needs some way to predict how well the reduced test suite performs w.r.t. detecting faults in the future. Prior research evaluated this cost of TSR using faulty program versions, each constructed with a single seeded fault. Furthermore, it is unknown if any metric measured on the reduced test suite at the point of reduction is effective at predicting the missed faults.
In this paper, we perform the first extensive study on TSR using real test failures in (failed) builds that occurred for real code changes. We analyze 1478 failed builds from 32 GitHub projects that run their tests on the Travis continuous integration service. We compute reduced test suites on early, passing versions of each project. As there can be multiple faults in each failed build, we propose FFMap, a family of mappings from test failures to faults. We use these mappings to determine the percentage failed builds where the reduced test suite misses to detect all the faults called FBDL. We find that reduced test suites can miss up to 52.2% of failed builds. We find that FBDL of reduced test suites is higher than suggested by traditional TSR metrics. Furthermore, traditional TSR metrics are not good predictors of FBDL, and even our proposed usage of historical FBDL to predict future FBDL, while a better predictor than the traditional TSR metrics, is still not a good predictor. The lack of a good predictor makes it difficult for developers to decide whether or not to use reduced test suites. Our results raise important concerns about automated TSR.
Mon 16 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30 | Testing and Fault LocalizationISSTA Technical Papers at Zurich II Chair(s): Cindy Rubio-González University of California, Davis | ||
14:00 20mTalk | Test Case Prioritization for Acceptance Testing of Cyber Physical Systems: A Multi-Objective Search-Based Approach ISSTA Technical Papers Seung Yeob Shin SnT Centre/University of Luxembourg, Shiva Nejati SnT Centre/University of Luxembourg, Mehrdad Sabetzadeh SnT Centre/University of Luxembourg, Lionel C. Briand SnT Centre/University of Luxembourg, Frank Zimmer SES Techcom | ||
14:20 20mTalk | Bench4BL: Reproducibility Study on the Performance of IR-Based Bug Localization ISSTA Technical Papers Jaekwon Lee University of Luxembourg, Luxembourg, Dongsun Kim University of Luxembourg, Tegawendé F. Bissyandé University of Luxembourg, Luxembourg, Woosung Jung Seoul National University of Education, Yves Le Traon University of Luxembourg | ||
14:40 20mTalk | Automated Test Mapping and Coverage for Network Topologies ISSTA Technical Papers Per Erik Strandberg Westermo Research and Development AB, Thomas Ostrand , Elaine Weyuker Mälardalen University, Daniel Sundmark Mälardalen University, Wasif Afzal Mälardalen University | ||
15:00 20mTalk | Evaluating Test-Suite Reduction in Real-World Software Evolution ISSTA Technical Papers August Shi University of Illinois at Urbana-Champaign, Alex Gyori Facebook, Muhammad Suleman Mahmood University of Illinois at Urbana-Champaign, Peiyuan Zhao University of Illinois at Urbana-Champaign, Darko Marinov University of Illinois at Urbana-Champaign | ||
15:20 10m | Q&A in groups ISSTA Technical Papers |