Language Fuzzing Using Constraint Logic Programming