Dataflow: Use doublyBoundedFastTC.

This commit is contained in:
Anders Schack-Mulligen
2024-04-23 13:07:20 +02:00
parent b2f09949df
commit 830b83f653

View File

@@ -3874,7 +3874,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.