GramFuzz: Fuzzing testing of web browsers based on grammar analysis and structural mutation
detecting communication protocol security flaws by formal fuzz testing and machine learning .