Class ControlFlowExtractor


  • public class ControlFlowExtractor
    extends java.lang.Object
    An extractor of ControlFlowStructures from CFGs. It uses Dominators to extract Loops, and a graph visiting heuristics to find IfThenElses.

    Extracting control flows should be a last-resort: if the cfg contains arbitrary jumps (like goto, break, continue, ...) the aforementioned algorithms will fail to properly infer some of the structures. It is always preferable to have frontends define each structure relying on source code information.
    • Constructor Detail

      • ControlFlowExtractor

        public ControlFlowExtractor​(CFG target)
        Builds the extractor.
        Parameters:
        target - the cfg whose control flows structures are to be extracted