def extract_basic_block_features(extractor, f, bb): features = collections.defaultdict(set) for insn in extractor.get_instructions(f, bb): for feature, va in extractor.extract_insn_features(f, bb, insn): features[feature].add(va) for feature, va in extractor.extract_basic_block_features(f, bb): features[feature].add(va) return features
def get_instruction(extractor, f, bb, va): for insn in extractor.get_instructions(f, bb): if int(insn) == va: return insn raise ValueError("instruction not found")