def get_path_length(self, seed): if not self.input_to_edges_cache.has_key(seed): # run seed can collect edges edges = utils.get_edge_cover_by_seed(self.replay_prog_cmd, seed, self.input_mode) self.input_to_edges_cache[seed] = edges self.covered_fuzzer_edges = self.covered_fuzzer_edges | set(edges) return len(self.input_to_edges_cache[seed])
def build_input_to_edges_cache(self, inputs): """store input and map to their edges""" for seed in inputs: if not self.input_to_edges_cache.has_key(seed): # run seed can collect edges edges = utils.get_edge_cover_by_seed(self.replay_prog_cmd, seed, self.input_mode) self.input_to_edges_cache[seed] = list(edges) self.covered_fuzzer_edges = self.covered_fuzzer_edges | set( self.input_to_edges_cache[seed])