Exemplo n.º 1
0
def main(program_slice, vulnerability_pattern, debug=False):
    program_slice_json = read_from_json(program_slice)
    vuln_pattern_json = read_from_json(vulnerability_pattern)

    output_filename = program_slice[:-5] + ".output.json"
    output = program_analysis(program_slice_json,
                              vuln_pattern_json,
                              debug=debug)

    write_to_json(output, output_filename)
def test_slice1():
    program_slice = "{}/data/slice1.json".format(ROOT_DIR)
    pattern = "{}/tests/test_slice1/slice1_vuln_pattern.json".format(ROOT_DIR)

    analyzer(program_slice, pattern, debug=True)
    output = read_from_json("{}/data/slice1.output.json".format(ROOT_DIR))

    assert output == [{
        "vulnerability": "SQL injection",
        "source": "a",
        "sink": "z",
        "sanitizer": "",
    }]
def test_slice4():
    program_slice = "{}/data/slice4.json".format(ROOT_DIR)
    pattern = "{}/tests/test_slice4/slice4_vuln_pattern.json".format(ROOT_DIR)

    analyzer(program_slice, pattern, debug=False)
    output = read_from_json("{}/data/slice4.output.json".format(ROOT_DIR))

    assert output == [{
        "vulnerability": "SQL injection",
        "source": "koneksi",
        "sink": "s",
        "sanitizer": "",
    }]
Exemplo n.º 4
0
                                                      y_column_name,
                                                      step_size=step_size)
    best_score, best_number_features, best_feature_sets = get_scores_from_feature_sub_sets(
        df, features_in_sub_sets, y_column_name)
    return best_score, best_number_features, data[best_feature_sets +
                                                  [y_column_name]]


if __name__ == "__main__":
    data: pd.DataFrame = pd.read_csv(
        "{}/data/df_without_corr.csv".format(ROOT_DIR))

    find_best_feature_sub_sets(data,
                               y_column_name="class",
                               step_size=1,
                               verbose=True,
                               save_to_file=True)

    feature_sets = read_from_json("feature_sets")
    print(
        get_scores_from_feature_sub_sets(
            data,
            feature_sets=feature_sets,
            y_column_name="class",
            classifier=knn_model,
            save_to_file=True,
        ))

    feature_sub_set_scores = read_from_json("feature_sub_set_scores")
    plots_feature_sub_set_scores(feature_sub_set_scores)