/
example_model.py
62 lines (53 loc) · 1.36 KB
/
example_model.py
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import random
from fuzzing_base import mutate
from env import env
def remove_a_line(lines):
lines.remove(random.choice(lines))
return lines
def remove_two_lines(lines):
lines.remove(random.choice(lines))
lines.remove(random.choice(lines))
return lines
def setup_env():
global env
env = {}
env["result"] = 0
def add_unmutated():
env["result"] = 0
env["result"] += 1
env["result"] += 2
env["result"] += 4
env["result"] += 8
env["result"] += 16
@mutate(remove_a_line)
def add_mutated():
env["result"] = 0
env["result"] += 1
env["result"] += 2
env["result"] += 4
env["result"] += 8
env["result"] += 16
@mutate([remove_a_line, remove_two_lines])
def add_mutated_two_types():
env["result"] = 0
env["result"] += 1
env["result"] += 2
env["result"] += 4
env["result"] += 8
env["result"] += 16
@mutate([(remove_a_line, 0.8), (remove_two_lines, 0.2)])
def add_mutated_two_types_with_probabilities():
env["result"] = 0
env["result"] += 1
env["result"] += 2
env["result"] += 4
env["result"] += 8
env["result"] += 16
@mutate([(remove_a_line, 0.5), (remove_two_lines, 0.2)])
def add_mutated_two_types_with_unbalanced_probabilities():
env["result"] = 0
env["result"] += 1
env["result"] += 2
env["result"] += 4
env["result"] += 8
env["result"] += 16