Peli at RiSE

Margus Veanes - Rex - Symbolic Regular Expression Exploration

Download this episode

Download Video

Description

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.

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • Jason Fossen

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

    • peli

      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.

    • aL_

      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

    • peli

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

    • DarkWalker

      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

       

       

    • margus

      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 .

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.