Очевидно, что если вы не хотите вызывать, но должны понимать поведение при вызове, тогда вам нужно прочитать байт-коды метода.
Другим вариантом является предоставление загрузчика классов-классов и загрузочных классов-имитаторов (и, следовательно, реализаций метода без операций).
В полностью функциональной вселенной вышеизложенное было бы разумным подходом. Учитывая, что это Java, вопрос о том, как вы гарантируете и измеряете побочные эффекты, остается без ответа. Возможно, вышеприведенное сработает для вашего конкретного случая, но для общего случая вы фактически запрашиваете статический анализ байт-кодов Java, и это, вероятно, сама по себе область исследования.