CodeQL library for JavaScript
Search

Predicate isReachableFromStartTuple

Holds if there exists a pair of repetitions (pivot, succ) in the regular expression such that: tuple is reachable from (pivot, pivot, succ) in the product automaton, and there is a distance of dist from tuple to the nearest end-tuple (pivot, succ, succ), and a path from a start-state to tuple follows the transitions in trace.

Import path

import semmle.javascript.security.performance.SuperlinearBackTracking
predicate isReachableFromStartTuple(State pivot, State succ, StateTuple tuple, Trace trace, int dist)