Litcius/Paper detail

Input invariants

Dominic Steinhöfel, Andreas Zeller

2022Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering35 citationsDOIOpen Access PDF

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."

Topics & Concepts

Computer scienceProgramming languageRowByteContext (archaeology)Rule-based machine translationBlock (permutation group theory)Variable (mathematics)GrammarNatural language processingTheoretical computer scienceMathematicsBiologyMathematical analysisGeometryPaleontologyLinguisticsPhilosophySoftware Testing and Debugging TechniquesFormal Methods in VerificationSoftware Engineering Research
Input invariants | Litcius