Module Make
A parameterized module implementing the analysis described in the above papers.
Import path
import codeql.regex.nfa.SuperlinearBackTrackingImports
| 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 |