Class SynchronizedRegionFinder


  • public class SynchronizedRegionFinder
    extends ForwardFlowAnalysis<Unit,​FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
    Author:
    Richard L. Halpert Finds Synchronized Regions and creates a set of CriticalSection objects from them.
    • Field Detail

      • optionPrintDebug

        public boolean optionPrintDebug
      • optionOpenNesting

        public boolean optionOpenNesting
    • Method Detail

      • newInitialFlow

        protected FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> newInitialFlow()
        All INs are initialized to the empty set.
        Specified by:
        newInitialFlow in class AbstractFlowAnalysis<Unit,​FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
      • flowThrough

        protected void flowThrough​(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> in,
                                   Unit unit,
                                   FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> out)
        OUT is the same as (IN minus killSet) plus the genSet.
        Specified by:
        flowThrough in class FlowAnalysis<Unit,​FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
        Parameters:
        in - the input flow
        unit - the current node
        out - the returned flow
      • merge

        protected void merge​(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet1,
                             FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet2,
                             FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> outSet)
        union
        Specified by:
        merge in class AbstractFlowAnalysis<Unit,​FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
      • copy

        protected void copy​(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> sourceSet,
                            FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> destSet)
        Description copied from class: AbstractFlowAnalysis
        Creates a copy of the source flow object in dest.
        Specified by:
        copy in class AbstractFlowAnalysis<Unit,​FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>