@@ -306,7 +306,7 @@ def check_sound_analysis_evmlisa(directory_path):
306306 if sound :
307307 print ("[EVMLiSA] All analysis are SOUND." )
308308
309- def get_results_evmlisa (directory_path , print_data ):
309+ def get_results_evmlisa (directory_path , print_data , vulnerability_type ):
310310 warnings_counts = {}
311311 failed = 0
312312
@@ -318,14 +318,14 @@ def get_results_evmlisa(directory_path, print_data):
318318 data = json .load (file )
319319 if "vulnerabilities" in data :
320320 vulnerabilities = data ["vulnerabilities" ]
321- if "reentrancy" in vulnerabilities :
321+ if "reentrancy" in vulnerabilities and vulnerability_type == "reentrancy" :
322322 warnings_counts [filename ] = vulnerabilities ['reentrancy' ]
323- elif "tx_origin" in vulnerabilities :
323+ elif "tx_origin" in vulnerabilities and vulnerability_type == "tx-origin" :
324324 warnings_counts [filename ] = vulnerabilities ['tx_origin' ]
325- elif "timestamp_dependency" in vulnerabilities :
325+ elif "timestamp_dependency" in vulnerabilities and vulnerability_type == "timestamp-dependency" :
326326 warnings_counts [filename ] = vulnerabilities ['timestamp_dependency' ]
327327 else :
328- print (f"[EVMLiSA] Warning: 'reentrancy', 'tx_origin' and 'timestam_-dependency ' not found in { filename } " )
328+ print (f"[EVMLiSA] Warning: 'reentrancy', 'tx_origin' and 'timestam_dependency ' not found in { filename } " )
329329 else :
330330 print (f"[EVMLiSA] Warning: 'vulnerabilities' not found in { filename } " )
331331 except Exception as e :
@@ -520,7 +520,6 @@ def get_results_solidifi(folder_path, type, print_data):
520520
521521
522522 sorted_data = dict (sorted (line_counts .items ()))
523-
524523 print (print_data )
525524 print (sorted_data )
526525
@@ -677,8 +676,8 @@ def calculate_f_measure(precision, recall):
677676 check_sound_analysis_evmlisa ('./solidifi/tx-origin/results/evmlisa' )
678677
679678 results_solidifi = get_results_solidifi ('./solidifi/SolidiFI-buggy-contracts/tx.origin' , 'tx-origin' , 'solidify' )
680- results_evmlisa = subtract_dicts (get_results_evmlisa ('./solidifi/tx-origin/results/evmlisa' , 'evmlisa-buggy-solidifi' ),
681- get_results_evmlisa ('./solidifi/vanilla/results/evmlisa' , 'evmlisa-solidifi/vanilla' ))
679+ results_evmlisa = subtract_dicts (get_results_evmlisa ('./solidifi/tx-origin/results/evmlisa' , 'evmlisa-buggy-solidifi' , 'tx-origin' ),
680+ get_results_evmlisa ('./solidifi/vanilla/results/evmlisa' , 'evmlisa-solidifi/vanilla' , 'tx-origin' ))
682681
683682 # Precision
684683 evmlisa_precision = calculate_precision (results_evmlisa , results_solidifi )
@@ -716,8 +715,8 @@ def calculate_f_measure(precision, recall):
716715 check_sound_analysis_evmlisa ('./solidifi/timestamp-dependency/results/evmlisa' )
717716
718717 results_solidifi = get_results_solidifi ('./solidifi/SolidiFI-buggy-contracts/Timestamp-Dependency' , 'timestamp-dependency' , 'solidify' )
719- results_evmlisa = subtract_dicts (get_results_evmlisa ('./solidifi/timestamp-dependency/results/evmlisa' , 'evmlisa-buggy-solidifi' ),
720- get_results_evmlisa ('./solidifi/vanilla/results/evmlisa' , 'evmlisa-solidifi/vanilla' ))
718+ results_evmlisa = subtract_dicts (get_results_evmlisa ('./solidifi/timestamp-dependency/results/evmlisa' , 'evmlisa-buggy-solidifi' , 'timestamp-dependency' ),
719+ get_results_evmlisa ('./solidifi/vanilla/results/evmlisa' , 'evmlisa-solidifi/vanilla' , 'timestamp-dependency' ))
721720
722721 # Precision
723722 evmlisa_precision = calculate_precision (results_evmlisa , results_solidifi )
@@ -745,8 +744,8 @@ def calculate_f_measure(precision, recall):
745744
746745 check_sound_analysis_evmlisa ('./smartbugs/timestamp-dependency/results/evmlisa' )
747746
748- results_evmlisa = get_results_evmlisa ('./smartbugs/timestamp-dependency/results/evmlisa' , 'evmlisa-buggy-smartbugs' )
749- results_smartbugs = get_results_smartbugs ('./smartbugs/timestamp-dependency/source-code/vulnerabilities.json' , 'smartbugs' )
747+ results_evmlisa = get_results_evmlisa ('./smartbugs/timestamp-dependency/results/evmlisa' , 'evmlisa-buggy-smartbugs' , 'timestamp-dependency' )
748+ results_smartbugs = get_results_smartbugs ('./smartbugs/timestamp-dependency/source-code/vulnerabilities.json' , 'smartbugs' , 'timestamp-dependency' )
750749
751750 # Precision
752751 evmlisa_precision = calculate_precision (results_evmlisa , results_smartbugs )
@@ -794,8 +793,8 @@ def calculate_f_measure(precision, recall):
794793 check_sound_analysis_evmlisa ('./solidifi/reentrancy/results/evmlisa' )
795794 check_sound_analysis_evmlisa ('./solidifi/vanilla/results/evmlisa' )
796795
797- results_evmlisa = subtract_dicts (get_results_evmlisa ('./solidifi/reentrancy/results/evmlisa' , 'evmlisa-buggy-solidifi' ),
798- get_results_evmlisa ('./solidifi/vanilla/results/evmlisa' , 'evmlisa-solidifi/vanilla' ))
796+ results_evmlisa = subtract_dicts (get_results_evmlisa ('./solidifi/reentrancy/results/evmlisa' , 'evmlisa-buggy-solidifi' , 'reentrancy' ),
797+ get_results_evmlisa ('./solidifi/vanilla/results/evmlisa' , 'evmlisa-solidifi/vanilla' , 'reentrancy' ))
799798 results_ethersolve = subtract_dicts (get_results_ethersolve ('./solidifi/reentrancy/results/ethersolve' , 'ethersolve-buggy-solidifi' ),
800799 get_results_ethersolve ('./solidifi/vanilla/results/ethersolve' , 'ethersolve-solidifi/vanilla' ))
801800 results_solidifi = get_results_solidifi ('./solidifi/SolidiFI-buggy-contracts/Re-entrancy' , 'reentrancy' , 'solidify' )
@@ -839,7 +838,7 @@ def calculate_f_measure(precision, recall):
839838
840839 check_sound_analysis_evmlisa ('./smartbugs/reentrancy/results/evmlisa' )
841840
842- results_evmlisa = get_results_evmlisa ('./smartbugs/reentrancy/results/evmlisa' , 'evmlisa-buggy-smartbugs' )
841+ results_evmlisa = get_results_evmlisa ('./smartbugs/reentrancy/results/evmlisa' , 'evmlisa-buggy-smartbugs' , 'reentrancy' )
843842 results_ethersolve = get_results_ethersolve ('./smartbugs/reentrancy/results/ethersolve' , 'ethersolve-buggy-smartbugs' )
844843 results_smartbugs = get_results_smartbugs ('./smartbugs/reentrancy/source-code/vulnerabilities.json' , 'smartbugs' )
845844
@@ -882,7 +881,7 @@ def calculate_f_measure(precision, recall):
882881
883882 check_sound_analysis_evmlisa ('./slise/reentrancy-db1/results/evmlisa' )
884883
885- results_evmlisa = get_results_evmlisa ('./slise/reentrancy-db1/results/evmlisa' , 'evmlisa-buggy-slise-db1' )
884+ results_evmlisa = get_results_evmlisa ('./slise/reentrancy-db1/results/evmlisa' , 'evmlisa-buggy-slise-db1' , 'reentrancy' )
886885 results_ethersolve = get_results_ethersolve ('./slise/reentrancy-db1/results/ethersolve' , 'ethersolve-buggy-slise-db1' )
887886 results_slise = get_results_slise ('./slise/reentrancy-db1/source-code/vulnerabilities.json' , 'slise-db1' )
888887
0 commit comments