Regenerate: A Language Generator for Extended Regular Expressions
Regular expressions are part of every programmer’s toolbox. They are used for a wide variety of language-related tasks and there are many algorithms for manipulating them. In particular, matching algorithms that detect whether a word belongs to the language described by a regular expression are well explored, yet new algorithms appear frequently. However, there is no satisfactory methodology for testing such matchers.
We propose a testing methodology which is based on generating positive as well as negative examples of words in the language. To this end, we present a new algorithm to generate the language described by a generalized regular expression with intersection and complement operators. The complement operator allows us to generate both positive and negative example words from a given regular expression. We implement our generator in Haskell and OCaml and show that its performance is more than adequate for testing.
Tue 6 Nov Times are displayed in time zone: (GMT-05:00) Guadalajara, Mexico City, Monterrey change
|15:30 - 16:00|
|16:00 - 16:30|
GPCE 2018DOI Pre-print
|16:30 - 17:00|