How Different is Test Case Prioritization for Open and Closed Source Projects?
This work highlights the need for tailored prioritization schemes in software testing, addressing a practical problem for developers by showing that one-size-fits-all approaches are ineffective.
The paper investigated whether test case prioritization algorithms perform differently across open-source and closed-source software projects, finding that the best algorithms for open-source projects often perform worst for closed-source ones and vice versa.
Improved test case prioritization means that software developers can detect and fix more software faults sooner than usual. But is there one "best" prioritization algorithm? Or do different kinds of projects deserve special kinds of prioritization? To answer these questions, this paper applies nine prioritization schemes to 31 projects that range from (a) highly rated open-source Github projects to (b) computational science software to (c) a closed-source project. We find that prioritization approaches that work best for open-source projects can work worst for the closed-source project (and vice versa). From these experiments, we conclude that (a) it is ill-advised to always apply one prioritization scheme to all projects since (b) prioritization requires tuning to different project types.