mirror of
https://github.com/github/codeql.git
synced 2026-05-14 11:19:27 +02:00
Currently we only instantiate them with the old CFG library, but in the future we'll want to do this with the new library as well. Co-authored-by: yoff <yoff@github.com>
20 lines
609 B
Plaintext
20 lines
609 B
Plaintext
/**
|
|
* Stronger version of NoBackwardFlow: for consecutive annotated nodes
|
|
* A -> B that both have a single timestamp (non-loop code) and B does
|
|
* NOT dominate A (forward edge), requires max(A) < min(B).
|
|
*/
|
|
|
|
import python
|
|
import TimerUtils
|
|
import OldCfgImpl
|
|
|
|
private module Utils = EvalOrderCfgUtils<OldCfg>;
|
|
|
|
private import Utils
|
|
private import Utils::CfgTests
|
|
|
|
from TimerCfgNode a, TimerCfgNode b, int maxA, int minB
|
|
where strictForward(a, b, maxA, minB)
|
|
select a, "Strict forward violation: $@ flows to $@", a.getTimestampExpr(maxA), "timestamp " + maxA,
|
|
b.getTimestampExpr(minB), "timestamp " + minB
|