Margus Veanes - Rex - Symbolic Regular Expression Exploration

Play Margus Veanes - Rex - Symbolic Regular Expression Exploration
Sign in to queue


Margus Veanes, a Researcher from the RiSE group at Microsoft Research, gives an overview of Rex, a tool that generates matching string from .NET regular expressions. Rex turns regular expressions into symbolic automatons, then gives them to a constraint solver to find matching strings.

The Research in Software Engineering team (RiSE) coordinates Microsoft's research in Software Engineering in Redmond, USA.



Download this episode

The Discussion

  • User profile image
    Jason Fossen

    Nice, maybe this will find its way into a Microsoft fuzzing toolkit soon?

  • User profile image

    Meanwhile, don't hesitate to download it and try it. Rex is a simple command line tool but you can also use the API to drive the Regex generation.

  • User profile image

    rex looks really cool Smiley

    i wonder how well it plays with Pex.. what would be nice is if you not only could generate regexp matches but also check if a string matches a specified regexp. RegExp.Match and pex doesnt seem to get along that well (atleast last time i tried) but rex seems like it would do better

  • User profile image

    Integration with Pex is definitely something we want to investigate in the future.

  • User profile image

    Rex error: The following constructs are currently not supported: anchors \G, \b,

     \B, named groups, lookahead, lookbehind, as-few-times-as-possible quantifiers,

    backreferences, conditional alternation, substitution



  • User profile image

    The constructs that are currenly not supported have an operational meaning that is much more expressive than regular expressions, and algorithimically pose a challenge when it comes to generation of matching strings. Some of the contructs are future-work and will hopefully be supported in future releases though Smiley .

Add Your 2 Cents