Litcius/Paper detail

Symbolic Boolean derivatives for efficiently solving extended regular expression constraints

Caleb Stanford, Margus Veanes, Nikolaj Bjørner

202134 citationsDOI

Abstract

The manipulation of raw string data is ubiquitous in security-critical software, and verification of such software relies on efficiently solving string and regular expression constraints via SMT. However, the typical case of Boolean combinations of regular expression constraints exposes blowup in existing techniques. To address solvability of such constraints, we propose a new theory of derivatives of symbolic extended regular expressions (extended meaning that complement and intersection are incorporated), and show how to apply this theory to obtain more efficient decision procedures. Our implementation of these ideas, built on top of Z3, matches or outperforms state-of-the-art solvers on standard and handwritten benchmarks, showing particular benefits on examples with Boolean combinations.

Topics & Concepts

Complement (music)Intersection (aeronautics)Boolean expressionComputer scienceRegular expressionTheoretical computer scienceString (physics)Expression (computer science)SoftwareBoolean functionAlgorithmProgramming languageMathematicsChemistryAerospace engineeringMathematical physicsGeneEngineeringComplementationPhenotypeBiochemistrySoftware Testing and Debugging TechniquesWeb Application Security VulnerabilitiesNetwork Packet Processing and Optimization