I'm trying to find the common nodes that are always visited by each and every possible path in a cyclic directed graph. My idea would be to compute all possible paths and then search for the common elements. However, a) that does not seem to be very efficient and b) it does not account for cycles.
The goal: is to implement oblivious hashing perimeter as a tamper-resistance method. For that I need to identify a set of common basic blocks that are input agnostic in a control flow graph. Put another way, I want to find deterministic chunks of a program (set of basic blocks) that will be executed for any given input.