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 |
getEndTuple |
Gets the tuple |
getReasonString |
Gets a message for why |
getStartTuple |
Gets the tuple |
hasCommonStep |
Holds if there are transitions from the components of |
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 |
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 |
Trace |
A list of tuples of input symbols that describe a path in the product automaton starting from a start state |
Parameters
TreeImpl | RegexTreeViewSig |