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()
|