CodeQL library for Ruby
codeql/ruby-all 2.0.4-dev (changelog, source)
Search

Predicate Make::step

Holds if there are transitions from the components of q to the corresponding components of r labelled with s1, s2, and s3, respectively.

Additionally, a heuristic is used to avoid blowups in the case of complex regexps. For regular expressions with more than 100 states, we only look at all the characters for the transitions out of q and only consider transitions that use the lexicographically smallest character.

Import path

import codeql.regex.nfa.SuperlinearBackTracking
predicate step(StateTuple q, InputSymbol s1, InputSymbol s2, InputSymbol s3, StateTuple r)