Module Make
A parameterized module implementing the analysis described in the above papers.
Import path
import codeql.regex.nfa.SuperlinearBackTracking
Imports
Make<SuperlinearBackTracking::Make::TreeImpl> | Classes and predicates that create an NFA and various algorithms for working with it. |
Predicates
delta | Gets a state for which there exists a transition in the NFA from `s’. |
distBackFromEnd | Gets the minimum length of a path from |
getAThreewayIntersect | Gets a char that is matched by all the edges |
getAnEndTuple | Gets the tuple |
getReasonString | Gets a message for why |
isEndTuple | Holds if |
isPumpable | Holds if matching repetitions of |
isReDoSCandidate | Holds if states starting in |
isStartLoops | Holds if |
minAndMaxIntersect | Gets the minimum and maximum characters that intersect between |
polynomialReDoS | Holds if repetitions of |
step | Holds if there are transitions from the components of |
step | Holds if there are transitions from the components of |
tupleDeltaBackwards | Holds if there exists a transition from |
Classes
PolynomialBackTrackingTerm | A term that may cause a regular expression engine to perform a polynomial number of match attempts, relative to the input length. |
StateTuple | A state in the product automaton. The product automaton contains 3-tuples of states. |
Trace | A list of tuples of input symbols that describe a path in the product automaton starting from some start state. |
Parameters
TreeImpl | RegexTreeViewSig |