Use Guava for CFA node reverse post-order ID computation
During CFA construction, a reverse post-order ID is assigned to every CFANode
. Currently, a custom implementation is used to compute these reverse post-order IDs. Guava already provides a method for post-order node traversal that can be used to compute the required reverse post-order IDs. Using Guava's traversal method should significantly simplify the code for reverse post-order ID computation.
Apart from the custom iterative implementation for reverse post-order ID computation, a (currently unused) simple recursive algorithm is kept as an assertion check, because even slight deviations in node-order have been found to cause performance differences. I'd suggest to keep this simple algorithm and use it as a check for the Guava-based implementation.