Synergizing Symbolic Execution and Fuzzing By Function-level Selective Symbolization