Example #1
0
    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)
Example #2
0
    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)
Example #3
0
 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)
Example #4
0
 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)