BEACON : Directed Grey-Box Fuzzing with Provable Path Pruning