Identifying Pseudo-tested Statements

Deleting code statements to see if the test suite notices!

I built PseudoSweep, a tool that automatically identifies pseudo-tested methods and statements in Java projects. It instruments the code, runs the test suite, and reports which covered code the tests would not notice going missing. There’s a demo project and a video walkthrough if you’d like to try it [1].

Where tests fall short

Pseudo-tested statements are one kind of oracle gap: covered code that isn’t checked by an assertion. In my ESEM 2025 paper, I compared three ways of finding oracle gaps using checked coverage using a dynamic slicer, checked coverage using an observational slicer, and pseudo-tested statement identification.

Pseudo-tested statement identification found the gaps that most need attention (they had the lowest median mutation score) and was by far the quickest, with a median of about 20 seconds compared with minutes, hours or days for the slicing-based approaches [2].

References

2025

  1. Maton2025.png
    Where tests fall short: Empirically analyzing oracle gaps in covered code
    In Proceedings of the 19th International Symposium on Empirical Software Engineering and Measurement (ESEM), 2025

2024

  1. Maton2024b.png
    PseudoSweep: A pseudo-tested code identifier
    In Proceedings of the 40th International Conference on Software Maintenance and Evolution (ICSME)– Tool Demonstrations Track, 2024