Synthesizing program input grammars

Abstract

We present an algorithm for synthesizing a context-free grammar encoding the language of valid program inputs from a set of input examples and blackbox access to the program. Our algorithm addresses shortcomings of existing grammar inference algorithms, which both severely overgeneralize and are prohibitively slow. Our implementation, GLADE, leverages the grammar synthesized by our algorithm to fuzz test programs with structured inputs. We show that GLADE substantially increases the incremental coverage on valid inputs compared to two baseline fuzzers.

Document Details

Document Type
Pub Defense Publication
Publication Date
Jun 14, 2017
Source ID
10.1145/3140587.3062349

Entities

People

  • Alex Aiken
  • Osbert Bastani
  • Percy Liang
  • Rahul Sharma

Organizations

  • Defense Advanced Research Projects Agency
  • Microsoft
  • National Science Foundation
  • Stanford University

Tags

Fields of Study

  • Computer science

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Computational Linguistics
  • Neural Network Machine Learning.

Technology Areas

  • AI & ML
  • AI & ML - Machine Learning Algorithms
  • AI & ML - Neural Networks