def report(self, name_info, ret_info=""): logger = Logger() header_out = False for name, values in self.patterns.iteritems(): if len(values) <= 1: continue freq_info, e = compute_entropy([x[0] for x in values]) if len(freq_info) == 1: # We have no interests here. continue bug_info = calc_bugginess(freq_info) if not report_in_one_line: if header_out is False: logger.log("\n> Reporting %s @ %s\n" % (name_info, ret_info)) header_out = True logger.log(">> %s\n" % name) logger.log(">>\t %s\n" % str(freq_info)) logger.log(">>\t entropy : %f\n" % e) logger.log(">>\t bugginess : %s\n" % bug_info) else: # entroy api file system @ return info logger.log("%f : %s : %s : %s : %s \n" % (e, name, name_info, ret_info, str(freq_info))) if header_out: if not report_in_one_line: logger.log("> END\n\n") return str(logger)
def report(self, name_info, ret_info = ""): logger = Logger() header_out = False for name, values in self.patterns.iteritems(): if len(values) <= 1: continue freq_info, e = compute_entropy([x[0] for x in values]) if len(freq_info) == 1: # We have no interests here. continue bug_info = calc_bugginess(freq_info) if not report_in_one_line: if header_out is False: logger.log("\n> Reporting %s @ %s\n" % (name_info, ret_info)) header_out = True logger.log(">> %s\n" % name) logger.log(">>\t %s\n" % str(freq_info)) logger.log(">>\t entropy : %f\n" % e) logger.log(">>\t bugginess : %s\n" % bug_info) else: # entroy api file system @ return info logger.log("%f : %s : %s : %s : %s \n" % (e, name, name_info, ret_info, str(freq_info))) if header_out: if not report_in_one_line: logger.log("> END\n\n") return str(logger)
def _gen_event_occ_dict(self, range_set): # range_set[return check condition] = list of functions # -+-------------------- -+--------------- # \ event \ occurrence ev_occ = {} for ev in range_set: ev_occ[ev] = len(range_set[ev]) if report_in_one_line: return calc_entropy(ev_occ) return calc_bugginess(ev_occ)