Automatic Generation of Input Grammars Using Symbolic Execution