kirancodes.me
To Proof Maintenance & Beyond!

Input invariants

Dominic Steinhöfel, Andreas Zeller

Abstract

How can we generate valid system inputs? Grammar-based fuzzers are highly efficient in producing syntactically valid system inputs. However, programs will often reject inputs that are semantically invalid. We introduce ISLa, a declarative specification language for context-sensitive properties of structured system inputs based on context-free grammars. With ISLa, it is possible to specify input constraints like "a variable has to be defined before it is used," "the 'file name' block must be 100 bytes long," or "the number of columns in all CSV rows must be identical."

BibTeX
@inproceedings{Steinhoefel-Zeller:FSE22,
  author    = {Dominic Steinh{\"{o}}fel and
               Andreas Zeller},
  title     = {Input invariants},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {583--594},
  publisher = {{ACM}},
  year      = {2022},
}

Related papers