Evaluating Regression Test Selection Opportunities in a Very Large Open-Source Ecosystem

Alex Gyori, Owolabi Legunsen, Farah Hariri, Darko Marinov

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Regression testing in very large software ecosystems is notoriously costly, requiring computational resources that even large corporations struggle to cope with. Very large ecosystems contain thousands of rapidly evolving, interconnected projects where client projects transitively depend on library projects. Regression test selection (RTS) reduces regression testing costs by rerunning only tests whose pass/fail behavior may flip after code changes. For single projects, researchers showed that class-level RTS is more effective than lower method-or statement-level RTS. Meanwhile, several very large ecosystems in industry, e.g., at Facebook, Google, and Microsoft, perform project-level RTS, rerunning tests in a changed library and in all its transitive clients. However, there was no previous study of the comparative benefits of class-level and project-level RTS in such ecosystems. We evaluate RTS opportunities in the MAVEN Central opensource ecosystem. There, some popular libraries have up to 924589 clients; in turn, clients can depend on up to 11190 libraries. We sampled 408 popular projects and found that 202 (almost half) cannot update to latest library versions without breaking compilation or tests. If developers want to detect these breakages earlier, they need to run very many tests. We compared four variants of class-level RTS with project-level RTS in MAVEN Central. The results showed that class-level RTS may be an order of magnitude less costly than project-level RTS in very large ecosystems. Specifically, various class-level RTS variants select, on average, 7.8%-17.4% of tests selected by project-level RTS.

Original languageEnglish (US)
Title of host publicationProceedings - 29th IEEE International Symposium on Software Reliability Engineering, ISSRE 2018
EditorsSudipto Ghosh, Bojan Cukic, Robin Poston, Roberto Natella, Nuno Laranjeiro
PublisherIEEE Computer Society
Pages112-122
Number of pages11
ISBN (Electronic)9781538683217
DOIs
StatePublished - Nov 16 2018
Event29th IEEE International Symposium on Software Reliability Engineering, ISSRE 2018 - Memphis, United States
Duration: Oct 15 2018Oct 18 2018

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
Volume2018-October
ISSN (Print)1071-9458

Other

Other29th IEEE International Symposium on Software Reliability Engineering, ISSRE 2018
Country/TerritoryUnited States
CityMemphis
Period10/15/1810/18/18

Keywords

  • Ecosystem Testing
  • Regression Test Selection
  • Regression Testing

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'Evaluating Regression Test Selection Opportunities in a Very Large Open-Source Ecosystem'. Together they form a unique fingerprint.

Cite this