Developer Tools

Method-level Change-proneness Optimizes Black-box Test Suite Minimization

New metric measures method-level change-proneness to shrink test suites while catching 94% of faults.

Deep Dive

Test Suite Minimization (TSM) reduces test suite size while preserving fault detection. Prior black-box approaches relied on metrics like test logs or similarity, but often suffered from scalability and efficiency issues. Researchers Md Siam and Kazi Sakib from the University of Dhaka propose Method-level Change-proneness based Test-suite Minimization (MCTM), which uses a finer-grained metric: change-proneness at the method level. MCTM first calculates each method's change-proneness from version control metadata (e.g., Git commit history). It then builds a test-code call graph to determine dependencies between test cases and methods. Finally, it scores each test case using statistical measures like Average and Geometric Mean based on the change-proneness of invoked methods, selecting the highest-scoring cases for the reduced suite.

Evaluated on 15 open-source Java projects with 635 buggy versions, MCTM achieved an average accuracy of 0.93 and fault detection rate of 0.94, significantly outperforming class-level change-proneness and similarity-based approaches. The method also demonstrated superior efficiency, making it practical for large-scale continuous integration environments. By avoiding production code analysis, it retains black-box benefits while leveraging fine-grained change data. This work offers a scalable, data-driven path to faster testing cycles without compromising quality.

Key Points
  • MCTM uses method-level change-proneness from version control metadata, a finer granularity than previous class-level approaches.
  • Test cases are scored via statistical measures (Average, Geometric Mean) based on a test-code call graph linking tests to invoked methods.
  • Achieved 94% fault detection rate on 635 buggy versions across 15 Java projects, outperforming both class-level CP and similarity-based methods.

Why It Matters

Enables faster, more efficient test suite reduction without source code access, cutting CI/CD costs while catching nearly all faults.