Java: Update tests to new partial flow api

This commit is contained in:
Anders Schack-Mulligen
2023-10-26 14:09:03 +02:00
parent b1d4ca505d
commit 35f6e6ebb4
6 changed files with 11 additions and 23 deletions

View File

@@ -16,7 +16,7 @@ module Flow = DataFlow::Global<Config>;
int explorationLimit() { result = 100 }
module PartialFlow = Flow::FlowExploration<explorationLimit/0>;
module PartialFlow = Flow::FlowExplorationFwd<explorationLimit/0>;
from PartialFlow::PartialPathNode src, PartialFlow::PartialPathNode sink
where PartialFlow::partialFlow(src, sink, _)

View File

@@ -1,18 +1,10 @@
edges
| A.java:4:16:4:18 | this <constr(this)> [post update] [elem] | A.java:22:17:22:25 | new Box(...) [elem] |
| A.java:5:19:5:22 | elem | A.java:24:10:24:19 | other.elem |
| A.java:12:5:12:5 | b [post update] : Box [elem] | A.java:13:12:13:12 | b : Box [elem] |
| A.java:12:14:12:18 | src(...) : Object | A.java:12:5:12:5 | b [post update] : Box [elem] |
| A.java:12:14:12:18 | src(...) : Object | A.java:12:5:12:18 | ...=... : Object |
| A.java:13:12:13:12 | b : Box [elem] | A.java:17:13:17:16 | f1(...) : Box [elem] |
| A.java:17:13:17:16 | f1(...) : Box [elem] | A.java:18:8:18:8 | b : Box [elem] |
| A.java:18:8:18:8 | b : Box [elem] | A.java:21:11:21:15 | b : Box [elem] |
| A.java:22:17:22:25 | new Box(...) [elem] | A.java:23:13:23:17 | other [elem] |
| A.java:23:13:23:17 | other [elem] | A.java:24:10:24:14 | other [elem] |
| A.java:23:13:23:17 | other [post update] [elem] | A.java:24:10:24:14 | other [elem] |
| A.java:24:10:24:14 | other [elem] | A.java:24:10:24:19 | other.elem |
| A.java:28:5:28:5 | b [post update] [elem] | A.java:23:13:23:17 | other [post update] [elem] |
| A.java:28:14:28:25 | new Object(...) | A.java:28:5:28:5 | b [post update] [elem] |
#select
| 0 | A.java:12:5:12:5 | b [post update] : Box [elem] |
| 0 | A.java:12:5:12:18 | ...=... : Object |

View File

@@ -10,7 +10,7 @@ module Config implements ConfigSig {
int explorationLimit() { result = 10 }
module PartialFlow = Global<Config>::FlowExploration<explorationLimit/0>;
module PartialFlow = Global<Config>::FlowExplorationFwd<explorationLimit/0>;
import PartialFlow::PartialPathGraph

View File

@@ -1,12 +1,6 @@
edges
| A.java:4:16:4:18 | this <constr(this)> [post update] [elem] | A.java:22:17:22:25 | new Box(...) [elem] |
| A.java:5:19:5:22 | elem | A.java:24:10:24:19 | other.elem |
| A.java:12:5:12:5 | b [post update] : Box [elem] | A.java:13:12:13:12 | b : Box [elem] |
| A.java:12:14:12:18 | src(...) : Object | A.java:12:5:12:5 | b [post update] : Box [elem] |
| A.java:12:14:12:18 | src(...) : Object | A.java:12:5:12:18 | ...=... : Object |
| A.java:13:12:13:12 | b : Box [elem] | A.java:17:13:17:16 | f1(...) : Box [elem] |
| A.java:17:13:17:16 | f1(...) : Box [elem] | A.java:18:8:18:8 | b : Box [elem] |
| A.java:18:8:18:8 | b : Box [elem] | A.java:21:11:21:15 | b : Box [elem] |
| A.java:22:17:22:25 | new Box(...) [elem] | A.java:23:13:23:17 | other [elem] |
| A.java:23:13:23:17 | other [elem] | A.java:24:10:24:14 | other [elem] |
| A.java:23:13:23:17 | other [post update] [elem] | A.java:24:10:24:14 | other [elem] |

View File

@@ -10,10 +10,10 @@ module Config implements ConfigSig {
int explorationLimit() { result = 10 }
module PartialFlow = Global<Config>::FlowExploration<explorationLimit/0>;
module PartialFlow = Global<Config>::FlowExplorationRev<explorationLimit/0>;
import PartialFlow::PartialPathGraph
from PartialFlow::PartialPathNode n, int dist
where PartialFlow::partialFlowRev(n, _, dist)
where PartialFlow::partialFlow(n, _, dist)
select dist, n

View File

@@ -57,7 +57,9 @@ int explorationLimit() { result = 0 }
module Flow = TaintTracking::GlobalWithState<Config>;
module PartialFlow = Flow::FlowExploration<explorationLimit/0>;
module PartialFlowFwd = Flow::FlowExplorationFwd<explorationLimit/0>;
module PartialFlowRev = Flow::FlowExplorationRev<explorationLimit/0>;
module HasFlowTest implements TestSig {
string getARelevantTag() { result = ["pFwd", "pRev", "flow"] }
@@ -72,8 +74,8 @@ module HasFlowTest implements TestSig {
)
or
tag = "pFwd" and
exists(PartialFlow::PartialPathNode src, PartialFlow::PartialPathNode node |
PartialFlow::partialFlow(src, node, _) and
exists(PartialFlowFwd::PartialPathNode src, PartialFlowFwd::PartialPathNode node |
PartialFlowFwd::partialFlow(src, node, _) and
checkNode(node.getNode()) and
node.getNode().getLocation() = location and
element = node.toString() and
@@ -81,8 +83,8 @@ module HasFlowTest implements TestSig {
)
or
tag = "pRev" and
exists(PartialFlow::PartialPathNode node, PartialFlow::PartialPathNode sink |
PartialFlow::partialFlowRev(node, sink, _) and
exists(PartialFlowRev::PartialPathNode node, PartialFlowRev::PartialPathNode sink |
PartialFlowRev::partialFlow(node, sink, _) and
checkNode(node.getNode()) and
node.getNode().getLocation() = location and
element = node.toString() and