@@ -1647,11 +1647,11 @@ def get_all_input_specifications(dec_tree,
16471647import random
16481648from itertools import chain
16491649
1650- def best_trees (forest , spec ):
1650+ def best_trees (forest , spec , grammar ):
16511651 samples = [tree_to_string (tree ) for tree in forest ]
16521652 fulfilled_fractions = []
16531653 for sample in samples :
1654- gen_features = collect_features ([sample ], CALC_GRAMMAR )
1654+ gen_features = collect_features ([sample ], grammar )
16551655
16561656 # calculate percentage of fulfilled requirements (used to rank the sample)
16571657 fulfilled_count = 0
@@ -1718,7 +1718,7 @@ def generate_samples_advanced(grammar: Grammar,
17181718 done = False
17191719 starttime = time .time ()
17201720 best_chosen = [fuzzer .fuzz_tree () for _ in range (100 )]
1721- done , best_chosen = best_trees (best_chosen , spec )
1721+ done , best_chosen = best_trees (best_chosen , spec , grammar )
17221722 if done :
17231723 final_samples .append (tree_to_string (best_chosen ))
17241724
@@ -1758,7 +1758,7 @@ def generate_samples_advanced(grammar: Grammar,
17581758 curr = s [0 ]
17591759 except SyntaxError :
17601760 pass
1761- done , best_chosen = best_trees (best_chosen , spec )
1761+ done , best_chosen = best_trees (best_chosen , spec , grammar )
17621762 if done :
17631763 final_samples .append (tree_to_string (best_chosen ))
17641764 if not done :
@@ -1775,6 +1775,8 @@ def generate_samples_random(grammar, new_input_specifications, num):
17751775
17761776 return data
17771777
1778+ generate_samples = generate_samples_advanced
1779+
17781780if __name__ == '__main__' :
17791781 generate_samples = generate_samples_advanced
17801782
0 commit comments