Beispiel #1
0
def run_config(config, bitcodeFile, searchConfig, originalConfig):
    global search
    utilities.print_config(config, "config_temp.json")
    result = transform.transform(bitcodeFile, "config_temp.json")
    if result == 1:
        utilities.print_config(
            config,
            "VALID_config_" + bitcodeFile + "_" + str(search) + ".json")
        utilities.log_config(config, "VALID", "log.dd", search)
        utilities.print_diff(
            searchConfig, originalConfig,
            "diff_" + bitcodeFile + "_" + str(search) + ".json")
    elif result == 0:
        utilities.print_config(
            config,
            "INVALID_config_" + bitcodeFile + "_" + str(search) + ".json")
        utilities.log_config(config, "INVALID", "log.dd", search)
    elif result == -1:
        utilities.print_config(
            config,
            "FAIL1_config_" + bitcodeFile + "_" + str(search) + ".json")
        utilities.log_config(config, "FAIL1", "log.dd", search)
    elif result == -2:
        utilities.print_config(
            config,
            "FAIL2_config_" + bitcodeFile + "_" + str(search) + ".json")
        utilities.log_config(config, "FAIL2", "log.dd", search)
    elif result == -3:
        utilities.print_config(
            config,
            "FAIL3_config_" + bitcodeFile + "_" + str(search) + ".json")
        utilities.log_config(config, "FAIL3", "log.dd", search)

    search += 1
    return result
Beispiel #2
0
def run_config(config, search, bitcodefile, originalConfig, limit):
	print_config(config, "config_temp.json")
	result = transform.transform(bitcodefile, "config_temp.json")
	if result == 1:
		print "check VALID_config_" + str(search) + ".json for a valid config file"
		print_config(config, "VALID_config_" + bitcodefile + "_" + str(search) + ".json")
		print_diff(config, originalConfig, "diff_" + str(search) + ".cov")
		utilities.log_config(config, "VALID", "log.bf", search)
	elif result == 0:
		print "\tINVALID CONFIG"
		print_config(config, "INVALID_config_" + bitcodefile + "_" + str(search) + ".json")
		utilities.log_config(config, "INVALID", "log.bf", search)
	elif result == -1:
		print "\tFAIL TYPE 1"
		print_config(config, "FAIL1_config_" + bitcodefile + "_" + str(search) + ".json")
		utilities.log_config(config, "FAIL1", "log.bf", search)
	elif result == -2:
		print "\tFAIL TYPE 2"
		print_config(config, "FAIL2_config_" + bitcodefile + "_" + str(search) + ".json")
		utilities.log_config(config, "FAIL2", "log.bf", search)
	elif result == -3:
		print "\tFAIL TYPE 3"
		print_config(config, "FAIL3_config_" + bitcodefile + "_" + str(search) + ".json")
		utilities.log_config(config, "FAIL3", "log.bf", search)
	search += 1
	if search > limit and limit != -1:
		sys.exit(0)
	return search
Beispiel #3
0
def run_config(config, search, bitcodefile, originalConfig, limit):
    print_config(config, "config_temp.json")
    result = transform.transform(bitcodefile, "config_temp.json")
    if result == 1:
        print "check VALID_config_" + str(
            search) + ".json for a valid config file"
        print_config(
            config,
            "VALID_config_" + bitcodefile + "_" + str(search) + ".json")
        print_diff(config, originalConfig, "diff_" + str(search) + ".cov")
        utilities.log_config(config, "VALID", "log.bf", search)
    elif result == 0:
        print "\tINVALID CONFIG"
        print_config(
            config,
            "INVALID_config_" + bitcodefile + "_" + str(search) + ".json")
        utilities.log_config(config, "INVALID", "log.bf", search)
    elif result == -1:
        print "\tFAIL TYPE 1"
        print_config(
            config,
            "FAIL1_config_" + bitcodefile + "_" + str(search) + ".json")
        utilities.log_config(config, "FAIL1", "log.bf", search)
    elif result == -2:
        print "\tFAIL TYPE 2"
        print_config(
            config,
            "FAIL2_config_" + bitcodefile + "_" + str(search) + ".json")
        utilities.log_config(config, "FAIL2", "log.bf", search)
    elif result == -3:
        print "\tFAIL TYPE 3"
        print_config(
            config,
            "FAIL3_config_" + bitcodefile + "_" + str(search) + ".json")
        utilities.log_config(config, "FAIL3", "log.bf", search)
    search += 1
    if search > limit and limit != -1:
        sys.exit(0)
    return search
Beispiel #4
0
def run_config(config, bitcodeFile, searchConfig, originalConfig):
  global search
  utilities.print_config(config, "config_temp.json")
  result = transform.transform(bitcodeFile, "config_temp.json")
  if result == 1:
    utilities.print_config(config, "VALID_config_" + bitcodeFile + "_" + str(search) + ".json")
    utilities.log_config(config, "VALID", "log.dd", search)
    utilities.print_diff(searchConfig, originalConfig, "diff_" + bitcodeFile + "_" + str(search) + ".json")
  elif result == 0:
    utilities.print_config(config, "INVALID_config_" + bitcodeFile + "_" + str(search) + ".json")
    utilities.log_config(config, "INVALID", "log.dd", search)
  elif result == -1:
    utilities.print_config(config, "FAIL1_config_" + bitcodeFile + "_" + str(search) + ".json")
    utilities.log_config(config, "FAIL1", "log.dd", search)
  elif result == -2:
    utilities.print_config(config, "FAIL2_config_" + bitcodeFile + "_" + str(search) + ".json")
    utilities.log_config(config, "FAIL2", "log.dd", search)
  elif result == -3:
    utilities.print_config(config, "FAIL3_config_" + bitcodeFile + "_" + str(search) + ".json")
    utilities.log_config(config, "FAIL3", "log.dd", search)

  search += 1
  return result
Beispiel #5
0
def run_config(search_config, original_config, bitcode):
    global search_counter
    utilities.print_config(search_config, "config_temp.json")
    result = transform_notime.transform(bitcode, "config_temp.json")
    if result == 1:
        utilities.print_config(
            search_config,
            "VALID_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "VALID", "log.dd", search_counter)
        utilities.print_diff(
            search_config, original_config,
            "dd2_diff_" + bitcode + "_" + str(search_counter) + ".json")
    elif result == 0:
        utilities.print_config(
            search_config,
            "INVALID_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "INVALID", "log.dd",
                             search_counter)
    elif result == -1:
        utilities.print_config(
            search_config,
            "FAIL1_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL1", "log.dd", search_counter)
    elif result == -2:
        utilities.print_config(
            search_config,
            "FAIL2_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL2", "log.dd", search_counter)
    elif result == -3:
        utilities.print_config(
            search_config,
            "FAIL3_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL3", "log.dd", search_counter)
    else:
        utilities.print_config(
            search_config,
            "FAIL4_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL4", "log.dd", search_counter)

    search_counter += 1
    return result
Beispiel #6
0
def run_config(search_config, original_config, bitcode, timeout):
    if False:
        fp = open('ivy.log', 'a')
        print >> fp, "run config:"
        print >> fp, "search_config:"
        print >> fp, search_config
        fp.close()
    global search_counter
    print "** Exploring configuration #" + str(search_counter)
    utilities.print_config(search_config, "config_temp.json")
    result = transform2.transform(bitcode, "config_temp.json", timeout)
    if result == 1:
        utilities.print_config(
            search_config,
            "VALID_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "VALID", "log.dd", search_counter)
        utilities.print_diff(
            search_config, original_config,
            "dd2_diff_" + bitcode + "_" + str(search_counter) + ".json")
    elif result == 0:
        utilities.print_config(
            search_config,
            "INVALID_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "INVALID", "log.dd",
                             search_counter)
    elif result == -1:
        utilities.print_config(
            search_config,
            "FAIL1_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL1", "log.dd", search_counter)
    elif result == -2:
        utilities.print_config(
            search_config,
            "FAIL2_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL2", "log.dd", search_counter)
    elif result == -3:
        utilities.print_config(
            search_config,
            "FAIL3_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL3", "log.dd", search_counter)
    else:
        utilities.print_config(
            search_config,
            "FAIL4_config_" + bitcode + "_" + str(search_counter) + ".json")
        utilities.log_config(search_config, "FAIL4", "log.dd", search_counter)

    search_counter += 1
    return result
Beispiel #7
0
def run_config(search_config, original_config, bitcode):
  global search_counter
  utilities.print_config(search_config, "config_temp.json")
  result = transform_notime.transform(bitcode, "config_temp.json")
  if result == 1:
    utilities.print_config(search_config, "VALID_config_" + bitcode + "_" + str(search_counter) + ".json")
    utilities.log_config(search_config, "VALID", "log.dd", search_counter)
    utilities.print_diff(search_config, original_config, "dd2_diff_" + bitcode + "_" + str(search_counter) + ".json")
  elif result == 0:
    utilities.print_config(search_config, "INVALID_config_" + bitcode + "_" + str(search_counter) + ".json")
    utilities.log_config(search_config, "INVALID", "log.dd", search_counter)
  elif result == -1:
    utilities.print_config(search_config, "FAIL1_config_" + bitcode + "_" + str(search_counter) + ".json")
    utilities.log_config(search_config, "FAIL1", "log.dd", search_counter)
  elif result == -2:
    utilities.print_config(search_config, "FAIL2_config_" + bitcode + "_" + str(search_counter) + ".json")
    utilities.log_config(search_config, "FAIL2", "log.dd", search_counter)
  elif result == -3:
    utilities.print_config(search_config, "FAIL3_config_" + bitcode + "_" + str(search_counter) + ".json")
    utilities.log_config(search_config, "FAIL3", "log.dd", search_counter)
  else:
    utilities.print_config(search_config, "FAIL4_config_" + bitcode + "_" + str(search_counter) + ".json")
    utilities.log_config(search_config, "FAIL4", "log.dd", search_counter)

  search_counter += 1
  return result