File size: 1,374 Bytes
6705032
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0cea2c9
6705032
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import os, sys,string,re,glob

import json
import csv
import copy


import pathlib
import time

folder = str(pathlib.Path(__file__).parent.resolve())
#Total_encas



def calculate_template():
    total_dic = {}
    for line in open(folder+"/result.jsonl", 'r', encoding="utf-8"):
        dic = json.loads(line)
        if dic["Target"].lower() + " " + dic["Module"].lower() not in total_dic.keys():
            total_dic[dic["Target"].lower() + " " + dic["Module"].lower()] = set()
        total_dic[dic["Target"].lower() + " " + dic["Module"].lower()].add(dic["File"].strip() + " " + dic["Func"].strip() + " " + dic["Target"].strip())


    res_dic = {}
    with open(folder+"/Accurate_Func_Merged.csv", 'r', encoding='utf-8') as f:
        f_csv = csv.reader(f)
        for row in f_csv:
            if " ".join([row[-1], row[0]]).lower() not in res_dic:
                res_dic[" ".join([row[-1], row[0]]).lower()] = 1
            else:
                res_dic[" ".join([row[-1], row[0]]).lower()] += 1
        with open(folder+"/Fig8_Purple.csv", 'w', encoding='utf-8', newline="") as f:
            f_csv = csv.writer(f)
            for k in res_dic.keys():
                f_csv.writerow([k.split(' ')[0].replace("pulp", "ri5cy"), k.split(' ')[1], round(float(res_dic[k])/float(len(list(total_dic[k]))), 3)])



if __name__ == '__main__':
    calculate_template()