Thank you for this very interesting work and nice library! I just stumbled over this repository and your POPL paper.
I was wondering if you could use your automaton-machinery to also generate matching strings from a regular expression. So given some regex, you could then produce e.g. an Iterator<Item=String> that each time you call its next function, some new example is produced. Ideally this would be done in such a way that the examples are not completely similar, so some BFS traversal over your automaton (with some kind of character class abstraction) sounds like a naive-but-maybe-ok starting point for simpler expressions.
This reminds me of model checking and building witnesses to found issues, the two challenges are not that different I think, especially since you build everything on your automaton.
I already looked through your implementation a bit to check where to start with this, but before I go and try too much I wanted to ask if some kind of "regex witness generation" is something that you also already thought of and if you see a place where to nicely integrate this functionality.
Thank you for this very interesting work and nice library! I just stumbled over this repository and your POPL paper.
I was wondering if you could use your automaton-machinery to also generate matching strings from a regular expression. So given some regex, you could then produce e.g. an
Iterator<Item=String>that each time you call itsnextfunction, some new example is produced. Ideally this would be done in such a way that the examples are not completely similar, so some BFS traversal over your automaton (with some kind of character class abstraction) sounds like a naive-but-maybe-ok starting point for simpler expressions.This reminds me of model checking and building witnesses to found issues, the two challenges are not that different I think, especially since you build everything on your automaton.
I already looked through your implementation a bit to check where to start with this, but before I go and try too much I wanted to ask if some kind of "regex witness generation" is something that you also already thought of and if you see a place where to nicely integrate this functionality.