“…For instance, taint analysis [16,20,28], concolic execution [6,29,30], static analysis [31][32][33], deep learning [34,35] and reinforcement learning [11,22,36] are used to boost fuzzer performance. On the other hand, some work has attempted to transform fuzzing to better test specific types of targets, such as JIT compilers [37][38][39][40], OS kernel [23,[41][42][43], protocol [44,45], rounter [46,47], and smart contracts [48,49]. For example, to find JIT compiler vulnerabilities, some fuzzers use an abstract syntax tree to represent and generate JavaScript code as seeds.…”