def get_ranker_results_with_objs(project_name, version, ranker_obj, filter_obj, provider): spectra_file = spectra_maker.get_spectra_file(project_name, version) run_to_result = run_result.load(spectra_file) buggy_lines = projects.get_known_buggy_lines(project_name, version) if buggy_lines is None: print("Buggy lines aren't known for version {0}".format(version)) return None failing_to_rankres = {} for failing_test_num, run_res in provider.get_run_results(run_to_result): failing_to_rankres[failing_test_num] = compute_results(run_res, ranker_obj, filter_obj, buggy_lines) ret = {} for failing,rank_res in failing_to_rankres.items(): key = "{0}-{1}-{2}".format(project_name, version, failing) ret[key] = rank_res return ret
def compute_features(project_name): if not os.path.exists(FEATURE_DIR): os.mkdir(FEATURE_DIR) for version in projects.get_version_names(project_name): fname = get_feature_file(project_name, version) if os.path.exists(fname): print("V {0} Already exists, skipping".format(version)) continue print("Computing version {0}".format(version)) spectra_file = spectra_maker.get_spectra_file(project_name, version) make_feature_file(spectra_file, fname)