def _add_stmt_dot(self):
     # double loop to get all class
     lst_fct_obj = ast.create_function_list_from_lst_ast_obj(self._lst_obj_ast)
     for fct_obj in lst_fct_obj:
         if not fct_obj.enable_cfg:
             continue
         if fct_obj.is_valid_cfg:
             # create cfg node here!
             self._add_node([fct_obj.cfg if self.is_dominator else fct_obj.cfg.end_stmt], visited_node=[])
示例#2
0
 def _add_stmt_dot(self):
     # double loop to get all class
     lst_fct_obj = ast.create_function_list_from_lst_ast_obj(
         self._lst_obj_ast)
     for fct_obj in lst_fct_obj:
         if not fct_obj.enable_cfg:
             continue
         if fct_obj.is_valid_cfg:
             # create cfg node here!
             self._add_node([
                 fct_obj.cfg if self.is_dominator else fct_obj.cfg.end_stmt
             ],
                            visited_node=[])
示例#3
0
    def _add_stmt_dot(self):
        # double loop to get all class
        lst_fct_obj = ast.create_function_list_from_lst_ast_obj(
            self._lst_obj_ast)
        count_valid_method = 0
        count_invalid_method = 0
        for fct_obj in lst_fct_obj:
            if not fct_obj.enable_cfg:
                continue
            if fct_obj.is_valid_cfg:
                # create cfg node here!
                self._add_node(fct_obj.cfg)
                count_valid_method += 1
            else:
                count_invalid_method += 1
        total_cfg = count_valid_method + count_invalid_method
        if total_cfg:
            ratio_valid_cfg = (count_valid_method / float(total_cfg)) * 100
        else:
            ratio_valid_cfg = 0.0

        print("Info valid cfg %s %.2f%% on invalid cfg %s." %
              (count_valid_method, ratio_valid_cfg, count_invalid_method))