Merge pull request #16318 from aschackmull/dataflow/doublyboundedfasttc

Dataflow: Use doublyBoundedFastTC.
This commit is contained in:
Anders Schack-Mulligen
2024-05-01 09:48:23 +02:00
committed by GitHub

View File

@@ -3882,7 +3882,12 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
n1.getANonHiddenSuccessor(_) = n2 and directReach(n2)
}
private predicate pathSuccPlus(PathNodeImpl n1, PathNodeImpl n2) = fastTC(pathSucc/2)(n1, n2)
private predicate tcSrc(PathNodeImpl n) { n.isFlowSource() or n.isSource(_) }
private predicate tcSink(PathNodeImpl n) { n.isFlowSink() or n instanceof PathNodeSink }
private predicate pathSuccPlus(PathNodeImpl n1, PathNodeImpl n2) =
doublyBoundedFastTC(pathSucc/2, tcSrc/1, tcSink/1)(n1, n2)
/**
* A `Node` augmented with a call context (except for sinks) and an access path.