(self, other_project, enable_advanced_backward_slicing=False, cfg_a=None, cfg_b=None)
:param other_project: The second project to diff
:param other_project: The second project to diff
: param other_project : The second project to diff
def __init__(self, other_project, enable_advanced_backward_slicing=False, cfg_a=None, cfg_b=None):
        """
        :param other_project: The second project to diff
        """
        l.debug("Computing cfg's")

        back_traversal = not enable_advanced_backward_slicing

        if cfg_a is None:
            #self.cfg_a = self.project.analyses.CFG(resolve_indirect_jumps=True)
            #self.cfg_b = other_project.analyses.CFG(resolve_indirect_jumps=True)
            self.cfg_a = self.project.analyses.CFGEmulated(context_sensitivity_level=1,
                                                            keep_state = True,
                                                            enable_symbolic_back_traversal = back_traversal,
                                                            enable_advanced_backward_slicing = enable_advanced_backward_slicing)

            self.cfg_b = other_project.analyses.CFGEmulated(context_sensitivity_level=1,
                                                            keep_state = True,
                                                            enable_symbolic_back_traversal = back_traversal,
                                                            enable_advanced_backward_slicing = enable_advanced_backward_slicing)

        else:
            self.cfg_a = cfg_a
            self.cfg_b = cfg_b

        l.debug("Done computing cfg's")

        self._p2 = other_project
        self._attributes_a = dict()
        self._attributes_a = dict()

        self._function_diffs = dict()
        self.function_matches = set()
        self._unmatched_functions_from_a = set()
        self._unmatched_functions_from_b = set()

        self._compute_diff()
def __init__ ( self , other_project , enable_advanced_backward_slicing = False , cfg_a = None , cfg_b = None ) : l . debug ( "Computing cfg's" ) back_traversal = not enable_advanced_backward_slicing if cfg_a is None : #self.cfg_a = self.project.analyses.CFG(resolve_indirect_jumps=True) #self.cfg_b = other_project.analyses.CFG(resolve_indirect_jumps=True) self . cfg_a = self . project . analyses . CFGEmulated ( context_sensitivity_level = 1 , keep_state = True , enable_symbolic_back_traversal = back_traversal , enable_advanced_backward_slicing = enable_advanced_backward_slicing ) self . cfg_b = other_project . analyses . CFGEmulated ( context_sensitivity_level = 1 , keep_state = True , enable_symbolic_back_traversal = back_traversal , enable_advanced_backward_slicing = enable_advanced_backward_slicing ) else : self . cfg_a = cfg_a self . cfg_b = cfg_b l . debug ( "Done computing cfg's" ) self . _p2 = other_project self . _attributes_a = dict ( ) self . _attributes_a = dict ( ) self . _function_diffs = dict ( ) self . function_matches = set ( ) self . _unmatched_functions_from_a = set ( ) self . _unmatched_functions_from_b = set ( ) self . _compute_diff ( )