Наш Java (Counting) Profiler очень близко подходит к тому, чего хочет OP.
Подсчитывает записи в каждом базовом блоке в коде Java; это включает точки входа метода и любые вспомогательные блоки для управления операторами (если, while, try, ...). Это дает тот же эффективный результат, что и подсчет числа выполнений отдельных «строк» (не уверен, что это означает точно в Java-программе, но мы это допустим) со значительно меньшими накладными расходами.
Данные подсчета могут рассматриваться как данные покрытия; ненулевое значение означает «покрытый».