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 |