Merge pull request #17224 from aschackmull/java/inlineflow-pathgraph

Java: Add PathGraph to test output for default inline flow tests.
This commit is contained in:
Anders Schack-Mulligen
2024-08-15 13:35:24 +02:00
committed by GitHub
110 changed files with 95267 additions and 0 deletions

View File

@@ -1,3 +1,245 @@
models
| 1 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated |
| 2 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated |
| 3 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated |
| 4 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated |
| 5 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 6 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 7 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated |
| 8 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated |
| 9 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 10 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 11 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated |
| 12 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated |
| 13 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated |
| 14 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated |
| 15 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated |
| 16 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 17 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 18 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated |
| 19 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 20 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 21 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated |
| 22 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 23 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 24 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated |
| 25 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated |
| 26 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
| 27 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual |
| 28 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
| 29 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
| 30 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
| 31 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual |
| 32 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
edges
| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:30 |
| apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | |
| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:7:14:7:14 | l | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:8:14:8:14 | l : List | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:8:14:8:14 | l : List [<element>] : String | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:9:19:9:19 | l : List [<element>] : String | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:10:18:10:18 | s | provenance | |
| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [<element>] : String | provenance | MaD:27 |
| list.kt:8:14:8:14 | l : List | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 |
| list.kt:8:14:8:14 | l : List [<element>] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 |
| list.kt:9:19:9:19 | l : List [<element>] : String | list.kt:10:18:10:18 | s | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:16:19:16:19 | a : String[] [[]] : String | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | |
| list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | |
| list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | |
| list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | |
| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:1 |
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:7 |
| test.kt:20:14:20:15 | sb [post update] : StringBuilder | test.kt:21:14:21:15 | sb | provenance | |
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:12 |
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:13 |
| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:2 |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:26:14:26:14 | p | provenance | |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:27:14:27:14 | p : Pair | provenance | |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:28:14:28:14 | p : Pair | provenance | |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:43:17:43:17 | p : Pair | provenance | |
| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | provenance | MaD:18 |
| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:19 |
| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:20 |
| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:11 |
| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:14 |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:34:14:34:14 | t | provenance | |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:35:14:35:14 | t : Triple | provenance | |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:36:14:36:14 | t : Triple | provenance | |
| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | provenance | MaD:21 |
| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:22 |
| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:23 |
| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:24 |
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:39:14:39:15 | p1 | provenance | |
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:40:14:40:15 | p1 : Pair | provenance | |
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:41:14:41:15 | p1 : Pair | provenance | |
| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:19 |
| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:20 |
| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:25 |
| test.kt:43:17:43:26 | toList(...) : List | test.kt:44:14:44:14 | l | provenance | |
| test.kt:43:17:43:26 | toList(...) : List | test.kt:45:14:45:14 | l : List | provenance | |
| test.kt:43:17:43:26 | toList(...) : List | test.kt:47:18:47:18 | s | provenance | |
| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:26 |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:51:14:51:15 | tv | provenance | |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:52:14:52:15 | tv : TimedValue | provenance | |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:53:14:53:15 | tv : TimedValue | provenance | |
| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | provenance | MaD:15 |
| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:16 |
| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:17 |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:56:14:56:16 | mg0 | provenance | |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:57:14:57:16 | mg0 : MatchGroup | provenance | |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:58:14:58:16 | mg0 : MatchGroup | provenance | |
| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:8 |
| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:10 |
| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:9 |
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:61:14:61:15 | iv | provenance | |
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:63:14:63:15 | iv : IndexedValue | provenance | |
| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | provenance | MaD:4 |
| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:5 |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:66:14:66:20 | strings : String[] [[]] : String | provenance | |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:67:14:67:20 | strings : String[] [[]] : String | provenance | |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:68:14:68:20 | strings : String[] [[]] : String | provenance | |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:70:19:70:25 | strings : String[] [[]] : String | provenance | |
| test.kt:65:35:65:44 | taint(...) : String | test.kt:65:23:65:45 | {...} : String[] [[]] : String | provenance | |
| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:28 |
| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:28 |
| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:3 |
| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:28 |
| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:3 |
| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:26 |
| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:6 |
| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:28 |
| test.kt:70:19:70:37 | withIndex(...) : Iterable | test.kt:71:18:71:18 | x : IndexedValue | provenance | |
| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:6 |
| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:29 |
| use.kt:8:28:8:29 | it : Closeable | use.kt:8:39:8:40 | it | provenance | |
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:29 |
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:29 |
| use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | provenance | |
| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:32 |
| with.kt:6:28:6:41 | $this$with : String | with.kt:6:35:6:38 | this | provenance | |
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:32 |
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:32 |
| with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | provenance | |
nodes
| apply.kt:6:9:6:20 | taint(...) : String | semmle.label | taint(...) : String |
| apply.kt:6:28:6:41 | $this$apply : String | semmle.label | $this$apply : String |
| apply.kt:6:35:6:38 | this | semmle.label | this |
| apply.kt:7:14:7:25 | taint(...) : String | semmle.label | taint(...) : String |
| apply.kt:7:14:7:40 | apply(...) | semmle.label | apply(...) |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | semmle.label | l [post update] : List [<element>] : String |
| list.kt:6:16:6:25 | taint(...) : String | semmle.label | taint(...) : String |
| list.kt:7:14:7:14 | l | semmle.label | l |
| list.kt:8:14:8:14 | l : List | semmle.label | l : List |
| list.kt:8:14:8:14 | l : List [<element>] : String | semmle.label | l : List [<element>] : String |
| list.kt:8:14:8:17 | get(...) | semmle.label | get(...) |
| list.kt:9:19:9:19 | l : List [<element>] : String | semmle.label | l : List [<element>] : String |
| list.kt:10:18:10:18 | s | semmle.label | s |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| list.kt:13:25:13:34 | taint(...) : String | semmle.label | taint(...) : String |
| list.kt:14:14:14:14 | a | semmle.label | a |
| list.kt:15:14:15:14 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String |
| list.kt:15:14:15:17 | ...[...] | semmle.label | ...[...] |
| list.kt:16:19:16:19 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String |
| list.kt:17:18:17:18 | s | semmle.label | s |
| test.kt:16:14:16:21 | taint(...) : byte[] | semmle.label | taint(...) : byte[] |
| test.kt:16:14:16:30 | copyOf(...) | semmle.label | copyOf(...) |
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | semmle.label | taint(...) : FileTreeWalk |
| test.kt:17:14:17:33 | maxDepth(...) | semmle.label | maxDepth(...) |
| test.kt:20:14:20:15 | sb [post update] : StringBuilder | semmle.label | sb [post update] : StringBuilder |
| test.kt:20:14:20:47 | insertRange(...) | semmle.label | insertRange(...) |
| test.kt:20:32:20:40 | taint(...) : char[] | semmle.label | taint(...) : char[] |
| test.kt:21:14:21:15 | sb | semmle.label | sb |
| test.kt:23:14:23:22 | taint(...) : char[] | semmle.label | taint(...) : char[] |
| test.kt:23:14:23:27 | plus(...) | semmle.label | plus(...) |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | semmle.label | new Pair<String,String>(...) : Pair |
| test.kt:25:22:25:31 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:26:14:26:14 | p | semmle.label | p |
| test.kt:27:14:27:14 | p : Pair | semmle.label | p : Pair |
| test.kt:27:14:27:27 | component1(...) | semmle.label | component1(...) |
| test.kt:28:14:28:14 | p : Pair | semmle.label | p : Pair |
| test.kt:28:14:28:21 | getSecond(...) | semmle.label | getSecond(...) |
| test.kt:30:14:30:23 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:30:14:30:36 | capitalize(...) | semmle.label | capitalize(...) |
| test.kt:31:14:31:23 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | semmle.label | replaceFirstCharWithChar(...) |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | semmle.label | new Triple<String,String,String>(...) : Triple |
| test.kt:33:28:33:37 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:34:14:34:14 | t | semmle.label | t |
| test.kt:35:14:35:14 | t : Triple | semmle.label | t : Triple |
| test.kt:35:14:35:27 | component1(...) | semmle.label | component1(...) |
| test.kt:36:14:36:14 | t : Triple | semmle.label | t : Triple |
| test.kt:36:14:36:21 | getSecond(...) | semmle.label | getSecond(...) |
| test.kt:38:18:38:27 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:38:18:38:33 | to(...) : Pair | semmle.label | to(...) : Pair |
| test.kt:39:14:39:15 | p1 | semmle.label | p1 |
| test.kt:40:14:40:15 | p1 : Pair | semmle.label | p1 : Pair |
| test.kt:40:14:40:28 | component1(...) | semmle.label | component1(...) |
| test.kt:41:14:41:15 | p1 : Pair | semmle.label | p1 : Pair |
| test.kt:41:14:41:22 | getSecond(...) | semmle.label | getSecond(...) |
| test.kt:43:17:43:17 | p : Pair | semmle.label | p : Pair |
| test.kt:43:17:43:26 | toList(...) : List | semmle.label | toList(...) : List |
| test.kt:44:14:44:14 | l | semmle.label | l |
| test.kt:45:14:45:14 | l : List | semmle.label | l : List |
| test.kt:45:14:45:17 | get(...) | semmle.label | get(...) |
| test.kt:47:18:47:18 | s | semmle.label | s |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | semmle.label | new TimedValue<String>(...) : TimedValue |
| test.kt:50:29:50:38 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:51:14:51:15 | tv | semmle.label | tv |
| test.kt:52:14:52:15 | tv : TimedValue | semmle.label | tv : TimedValue |
| test.kt:52:14:52:28 | component1(...) | semmle.label | component1(...) |
| test.kt:53:14:53:15 | tv : TimedValue | semmle.label | tv : TimedValue |
| test.kt:53:14:53:24 | getDuration(...) | semmle.label | getDuration(...) |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | semmle.label | new MatchGroup(...) : MatchGroup |
| test.kt:55:30:55:39 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:56:14:56:16 | mg0 | semmle.label | mg0 |
| test.kt:57:14:57:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup |
| test.kt:57:14:57:22 | getValue(...) | semmle.label | getValue(...) |
| test.kt:58:14:58:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup |
| test.kt:58:14:58:29 | component2(...) | semmle.label | component2(...) |
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | semmle.label | new IndexedValue<String>(...) : IndexedValue |
| test.kt:60:42:60:51 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:61:14:61:15 | iv | semmle.label | iv |
| test.kt:63:14:63:15 | iv : IndexedValue | semmle.label | iv : IndexedValue |
| test.kt:63:14:63:28 | component2(...) | semmle.label | component2(...) |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| test.kt:65:35:65:44 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:66:14:66:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:66:14:66:32 | withIndex(...) | semmle.label | withIndex(...) |
| test.kt:67:14:67:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:67:14:67:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable |
| test.kt:67:14:67:41 | toList(...) | semmle.label | toList(...) |
| test.kt:68:14:68:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:68:14:68:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable |
| test.kt:68:14:68:41 | toList(...) : List | semmle.label | toList(...) : List |
| test.kt:68:14:68:44 | get(...) : IndexedValue | semmle.label | get(...) : IndexedValue |
| test.kt:68:14:68:50 | getValue(...) | semmle.label | getValue(...) |
| test.kt:70:19:70:25 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:70:19:70:37 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable |
| test.kt:71:18:71:18 | x : IndexedValue | semmle.label | x : IndexedValue |
| test.kt:71:18:71:24 | getValue(...) | semmle.label | getValue(...) |
| use.kt:8:9:8:20 | taint(...) : Closeable | semmle.label | taint(...) : Closeable |
| use.kt:8:28:8:29 | it : Closeable | semmle.label | it : Closeable |
| use.kt:8:39:8:40 | it | semmle.label | it |
| use.kt:9:14:9:25 | taint(...) : Closeable | semmle.label | taint(...) : Closeable |
| use.kt:9:14:9:36 | use(...) | semmle.label | use(...) |
| use.kt:9:31:9:36 | it : Closeable | semmle.label | it : Closeable |
| use.kt:9:33:9:34 | it : Closeable | semmle.label | it : Closeable |
| with.kt:6:14:6:25 | taint(...) : String | semmle.label | taint(...) : String |
| with.kt:6:28:6:41 | $this$with : String | semmle.label | $this$with : String |
| with.kt:6:35:6:38 | this | semmle.label | this |
| with.kt:7:14:7:40 | with(...) | semmle.label | with(...) |
| with.kt:7:19:7:30 | taint(...) : String | semmle.label | taint(...) : String |
| with.kt:7:33:7:40 | $this$with : String | semmle.label | $this$with : String |
| with.kt:7:35:7:38 | this : String | semmle.label | this : String |
subpaths
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | use.kt:9:14:9:36 | use(...) |
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | with.kt:7:14:7:40 | with(...) |
testFailures
| test.kt:28:14:28:21 | getSecond(...) | Unexpected result: hasTaintFlow=a |
| test.kt:35:14:35:27 | component1(...) | Unexpected result: hasTaintFlow=d |
| test.kt:41:14:41:22 | getSecond(...) | Unexpected result: hasTaintFlow=e |

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,3 +1,245 @@
models
| 1 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated |
| 2 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated |
| 3 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated |
| 4 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated |
| 5 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 6 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 7 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated |
| 8 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated |
| 9 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 10 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 11 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated |
| 12 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated |
| 13 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated |
| 14 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated |
| 15 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated |
| 16 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 17 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 18 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated |
| 19 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 20 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 21 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated |
| 22 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 23 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
| 24 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated |
| 25 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated |
| 26 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
| 27 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual |
| 28 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
| 29 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
| 30 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
| 31 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual |
| 32 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
edges
| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:30 |
| apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | |
| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:7:14:7:14 | l | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:8:14:8:14 | l : List | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:8:14:8:14 | l : List [<element>] : String | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:9:19:9:19 | l : List [<element>] : String | provenance | |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:10:18:10:18 | s | provenance | |
| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [<element>] : String | provenance | MaD:27 |
| list.kt:8:14:8:14 | l : List | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 |
| list.kt:8:14:8:14 | l : List [<element>] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 |
| list.kt:9:19:9:19 | l : List [<element>] : String | list.kt:10:18:10:18 | s | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:16:19:16:19 | a : String[] [[]] : String | provenance | |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | |
| list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | |
| list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | |
| list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | |
| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:1 |
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:7 |
| test.kt:20:14:20:15 | sb [post update] : StringBuilder | test.kt:21:14:21:15 | sb | provenance | |
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:12 |
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:13 |
| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:2 |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:26:14:26:14 | p | provenance | |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:27:14:27:14 | p : Pair | provenance | |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:28:14:28:14 | p : Pair | provenance | |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:43:17:43:17 | p : Pair | provenance | |
| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | provenance | MaD:18 |
| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:19 |
| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:20 |
| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:11 |
| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:14 |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:34:14:34:14 | t | provenance | |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:35:14:35:14 | t : Triple | provenance | |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:36:14:36:14 | t : Triple | provenance | |
| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | provenance | MaD:21 |
| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:22 |
| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:23 |
| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:24 |
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:39:14:39:15 | p1 | provenance | |
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:40:14:40:15 | p1 : Pair | provenance | |
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:41:14:41:15 | p1 : Pair | provenance | |
| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:19 |
| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:20 |
| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:25 |
| test.kt:43:17:43:26 | toList(...) : List | test.kt:44:14:44:14 | l | provenance | |
| test.kt:43:17:43:26 | toList(...) : List | test.kt:45:14:45:14 | l : List | provenance | |
| test.kt:43:17:43:26 | toList(...) : List | test.kt:47:18:47:18 | s | provenance | |
| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:26 |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:51:14:51:15 | tv | provenance | |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:52:14:52:15 | tv : TimedValue | provenance | |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:53:14:53:15 | tv : TimedValue | provenance | |
| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | provenance | MaD:15 |
| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:16 |
| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:17 |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:56:14:56:16 | mg0 | provenance | |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:57:14:57:16 | mg0 : MatchGroup | provenance | |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:58:14:58:16 | mg0 : MatchGroup | provenance | |
| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:8 |
| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:10 |
| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:9 |
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:61:14:61:15 | iv | provenance | |
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:63:14:63:15 | iv : IndexedValue | provenance | |
| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | provenance | MaD:4 |
| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:5 |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:66:14:66:20 | strings : String[] [[]] : String | provenance | |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:67:14:67:20 | strings : String[] [[]] : String | provenance | |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:68:14:68:20 | strings : String[] [[]] : String | provenance | |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:70:19:70:25 | strings : String[] [[]] : String | provenance | |
| test.kt:65:35:65:44 | taint(...) : String | test.kt:65:23:65:45 | {...} : String[] [[]] : String | provenance | |
| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:28 |
| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:28 |
| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:3 |
| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:28 |
| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:3 |
| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:26 |
| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:6 |
| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:28 |
| test.kt:70:19:70:37 | withIndex(...) : Iterable | test.kt:71:18:71:18 | x : IndexedValue | provenance | |
| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:6 |
| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:29 |
| use.kt:8:28:8:29 | it : Closeable | use.kt:8:39:8:40 | it | provenance | |
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:29 |
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:29 |
| use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | provenance | |
| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:32 |
| with.kt:6:28:6:41 | $this$with : String | with.kt:6:35:6:38 | this | provenance | |
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:32 |
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:32 |
| with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | provenance | |
nodes
| apply.kt:6:9:6:20 | taint(...) : String | semmle.label | taint(...) : String |
| apply.kt:6:28:6:41 | $this$apply : String | semmle.label | $this$apply : String |
| apply.kt:6:35:6:38 | this | semmle.label | this |
| apply.kt:7:14:7:25 | taint(...) : String | semmle.label | taint(...) : String |
| apply.kt:7:14:7:40 | apply(...) | semmle.label | apply(...) |
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | semmle.label | l [post update] : List [<element>] : String |
| list.kt:6:16:6:25 | taint(...) : String | semmle.label | taint(...) : String |
| list.kt:7:14:7:14 | l | semmle.label | l |
| list.kt:8:14:8:14 | l : List | semmle.label | l : List |
| list.kt:8:14:8:14 | l : List [<element>] : String | semmle.label | l : List [<element>] : String |
| list.kt:8:14:8:17 | get(...) | semmle.label | get(...) |
| list.kt:9:19:9:19 | l : List [<element>] : String | semmle.label | l : List [<element>] : String |
| list.kt:10:18:10:18 | s | semmle.label | s |
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| list.kt:13:25:13:34 | taint(...) : String | semmle.label | taint(...) : String |
| list.kt:14:14:14:14 | a | semmle.label | a |
| list.kt:15:14:15:14 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String |
| list.kt:15:14:15:17 | ...[...] | semmle.label | ...[...] |
| list.kt:16:19:16:19 | a : String[] [[]] : String | semmle.label | a : String[] [[]] : String |
| list.kt:17:18:17:18 | s | semmle.label | s |
| test.kt:16:14:16:21 | taint(...) : byte[] | semmle.label | taint(...) : byte[] |
| test.kt:16:14:16:30 | copyOf(...) | semmle.label | copyOf(...) |
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | semmle.label | taint(...) : FileTreeWalk |
| test.kt:17:14:17:33 | maxDepth(...) | semmle.label | maxDepth(...) |
| test.kt:20:14:20:15 | sb [post update] : StringBuilder | semmle.label | sb [post update] : StringBuilder |
| test.kt:20:14:20:47 | insertRange(...) | semmle.label | insertRange(...) |
| test.kt:20:32:20:40 | taint(...) : char[] | semmle.label | taint(...) : char[] |
| test.kt:21:14:21:15 | sb | semmle.label | sb |
| test.kt:23:14:23:22 | taint(...) : char[] | semmle.label | taint(...) : char[] |
| test.kt:23:14:23:27 | plus(...) | semmle.label | plus(...) |
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | semmle.label | new Pair<String,String>(...) : Pair |
| test.kt:25:22:25:31 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:26:14:26:14 | p | semmle.label | p |
| test.kt:27:14:27:14 | p : Pair | semmle.label | p : Pair |
| test.kt:27:14:27:27 | component1(...) | semmle.label | component1(...) |
| test.kt:28:14:28:14 | p : Pair | semmle.label | p : Pair |
| test.kt:28:14:28:21 | getSecond(...) | semmle.label | getSecond(...) |
| test.kt:30:14:30:23 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:30:14:30:36 | capitalize(...) | semmle.label | capitalize(...) |
| test.kt:31:14:31:23 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | semmle.label | replaceFirstCharWithChar(...) |
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | semmle.label | new Triple<String,String,String>(...) : Triple |
| test.kt:33:28:33:37 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:34:14:34:14 | t | semmle.label | t |
| test.kt:35:14:35:14 | t : Triple | semmle.label | t : Triple |
| test.kt:35:14:35:27 | component1(...) | semmle.label | component1(...) |
| test.kt:36:14:36:14 | t : Triple | semmle.label | t : Triple |
| test.kt:36:14:36:21 | getSecond(...) | semmle.label | getSecond(...) |
| test.kt:38:18:38:27 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:38:18:38:33 | to(...) : Pair | semmle.label | to(...) : Pair |
| test.kt:39:14:39:15 | p1 | semmle.label | p1 |
| test.kt:40:14:40:15 | p1 : Pair | semmle.label | p1 : Pair |
| test.kt:40:14:40:28 | component1(...) | semmle.label | component1(...) |
| test.kt:41:14:41:15 | p1 : Pair | semmle.label | p1 : Pair |
| test.kt:41:14:41:22 | getSecond(...) | semmle.label | getSecond(...) |
| test.kt:43:17:43:17 | p : Pair | semmle.label | p : Pair |
| test.kt:43:17:43:26 | toList(...) : List | semmle.label | toList(...) : List |
| test.kt:44:14:44:14 | l | semmle.label | l |
| test.kt:45:14:45:14 | l : List | semmle.label | l : List |
| test.kt:45:14:45:17 | get(...) | semmle.label | get(...) |
| test.kt:47:18:47:18 | s | semmle.label | s |
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | semmle.label | new TimedValue<String>(...) : TimedValue |
| test.kt:50:29:50:38 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:51:14:51:15 | tv | semmle.label | tv |
| test.kt:52:14:52:15 | tv : TimedValue | semmle.label | tv : TimedValue |
| test.kt:52:14:52:28 | component1(...) | semmle.label | component1(...) |
| test.kt:53:14:53:15 | tv : TimedValue | semmle.label | tv : TimedValue |
| test.kt:53:14:53:24 | getDuration(...) | semmle.label | getDuration(...) |
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | semmle.label | new MatchGroup(...) : MatchGroup |
| test.kt:55:30:55:39 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:56:14:56:16 | mg0 | semmle.label | mg0 |
| test.kt:57:14:57:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup |
| test.kt:57:14:57:22 | getValue(...) | semmle.label | getValue(...) |
| test.kt:58:14:58:16 | mg0 : MatchGroup | semmle.label | mg0 : MatchGroup |
| test.kt:58:14:58:29 | component2(...) | semmle.label | component2(...) |
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | semmle.label | new IndexedValue<String>(...) : IndexedValue |
| test.kt:60:42:60:51 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:61:14:61:15 | iv | semmle.label | iv |
| test.kt:63:14:63:15 | iv : IndexedValue | semmle.label | iv : IndexedValue |
| test.kt:63:14:63:28 | component2(...) | semmle.label | component2(...) |
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| test.kt:65:35:65:44 | taint(...) : String | semmle.label | taint(...) : String |
| test.kt:66:14:66:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:66:14:66:32 | withIndex(...) | semmle.label | withIndex(...) |
| test.kt:67:14:67:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:67:14:67:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable |
| test.kt:67:14:67:41 | toList(...) | semmle.label | toList(...) |
| test.kt:68:14:68:20 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:68:14:68:32 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable |
| test.kt:68:14:68:41 | toList(...) : List | semmle.label | toList(...) : List |
| test.kt:68:14:68:44 | get(...) : IndexedValue | semmle.label | get(...) : IndexedValue |
| test.kt:68:14:68:50 | getValue(...) | semmle.label | getValue(...) |
| test.kt:70:19:70:25 | strings : String[] [[]] : String | semmle.label | strings : String[] [[]] : String |
| test.kt:70:19:70:37 | withIndex(...) : Iterable | semmle.label | withIndex(...) : Iterable |
| test.kt:71:18:71:18 | x : IndexedValue | semmle.label | x : IndexedValue |
| test.kt:71:18:71:24 | getValue(...) | semmle.label | getValue(...) |
| use.kt:8:9:8:20 | taint(...) : Closeable | semmle.label | taint(...) : Closeable |
| use.kt:8:28:8:29 | it : Closeable | semmle.label | it : Closeable |
| use.kt:8:39:8:40 | it | semmle.label | it |
| use.kt:9:14:9:25 | taint(...) : Closeable | semmle.label | taint(...) : Closeable |
| use.kt:9:14:9:36 | use(...) | semmle.label | use(...) |
| use.kt:9:31:9:36 | it : Closeable | semmle.label | it : Closeable |
| use.kt:9:33:9:34 | it : Closeable | semmle.label | it : Closeable |
| with.kt:6:14:6:25 | taint(...) : String | semmle.label | taint(...) : String |
| with.kt:6:28:6:41 | $this$with : String | semmle.label | $this$with : String |
| with.kt:6:35:6:38 | this | semmle.label | this |
| with.kt:7:14:7:40 | with(...) | semmle.label | with(...) |
| with.kt:7:19:7:30 | taint(...) : String | semmle.label | taint(...) : String |
| with.kt:7:33:7:40 | $this$with : String | semmle.label | $this$with : String |
| with.kt:7:35:7:38 | this : String | semmle.label | this : String |
subpaths
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | use.kt:9:14:9:36 | use(...) |
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | with.kt:7:14:7:40 | with(...) |
testFailures
| test.kt:28:14:28:21 | getSecond(...) | Unexpected result: hasTaintFlow=a |
| test.kt:35:14:35:27 | component1(...) | Unexpected result: hasTaintFlow=d |
| test.kt:41:14:41:22 | getSecond(...) | Unexpected result: hasTaintFlow=e |

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,438 @@
models
| 1 | Summary: java.awt; Container; true; add; (Component); ; Argument[0]; ReturnValue; value; manual |
| 2 | Summary: java.io; File; true; getName; (); ; Argument[this]; ReturnValue; taint; manual |
| 3 | Summary: java.io; File; true; getParentFile; (); ; Argument[this]; ReturnValue; taint; manual |
| 4 | Summary: java.io; File; true; getPath; (); ; Argument[this]; ReturnValue; taint; manual |
| 5 | Summary: java.io; IOException; false; IOException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 6 | Summary: java.io; StringWriter; false; toString; (); ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: java.io; UncheckedIOException; false; UncheckedIOException; (IOException); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
| 8 | Summary: java.lang; AbstractStringBuilder; true; delete; (int,int); ; Argument[this]; ReturnValue; value; manual |
| 9 | Summary: java.lang; AssertionError; false; AssertionError; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 10 | Summary: java.lang; CharSequence; true; charAt; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: java.lang; Class; false; cast; (Object); ; Argument[0]; ReturnValue; value; manual |
| 12 | Summary: java.lang; Exception; false; Exception; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 13 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 14 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
| 15 | Summary: java.lang; IllegalArgumentException; false; IllegalArgumentException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 16 | Summary: java.lang; IllegalStateException; false; IllegalStateException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 17 | Summary: java.lang; IndexOutOfBoundsException; false; IndexOutOfBoundsException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 18 | Summary: java.lang; NullPointerException; false; NullPointerException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 19 | Summary: java.lang; RuntimeException; false; RuntimeException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 20 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 21 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
| 22 | Summary: java.lang; RuntimeException; false; RuntimeException; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
| 23 | Summary: java.lang; Thread; false; Thread; (Runnable); ; Argument[0]; Argument[this]; taint; manual |
| 24 | Summary: java.lang; Thread; false; Thread; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Thread.name]; value; manual |
| 25 | Summary: java.lang; Thread; true; getName; (); ; Argument[this].SyntheticField[java.lang.Thread.name]; ReturnValue; value; manual |
| 26 | Summary: java.lang; ThreadLocal; true; get; (); ; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; ReturnValue; value; manual |
| 27 | Summary: java.lang; ThreadLocal; true; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; value; manual |
| 28 | Summary: java.lang; Throwable; false; Throwable; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 29 | Summary: java.lang; Throwable; false; Throwable; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
| 30 | Summary: java.lang; Throwable; true; getCause; (); ; Argument[this].SyntheticField[java.lang.Throwable.cause]; ReturnValue; value; manual |
| 31 | Summary: java.lang; Throwable; true; getMessage; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual |
| 32 | Summary: java.lang; Throwable; true; getLocalizedMessage; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual |
| 33 | Summary: java.lang; Throwable; true; toString; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; taint; manual |
| 34 | Summary: java.lang; UnsupportedOperationException; false; UnsupportedOperationException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
| 35 | Summary: java.net; URL; false; toURI; ; ; Argument[this]; ReturnValue; taint; manual |
| 36 | Summary: java.nio.file; Path; true; getFileName; ; ; Argument[this]; ReturnValue; taint; manual |
| 37 | Summary: java.sql; ResultSet; true; getString; (String); ; Argument[this]; ReturnValue; taint; manual |
| 38 | Summary: java.util.concurrent.atomic; AtomicReference; false; AtomicReference; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual |
| 39 | Summary: java.util.concurrent.atomic; AtomicReference; false; get; (); ; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; ReturnValue; value; manual |
| 40 | Summary: java.util.concurrent.atomic; AtomicReference; false; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual |
| 41 | Summary: java.util.concurrent; CompletableFuture; false; complete; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.Future.value]; value; manual |
| 42 | Summary: java.util.concurrent; CompletableFuture; false; completedFuture; (Object); ; Argument[0]; ReturnValue.SyntheticField[java.util.concurrent.Future.value]; value; manual |
| 43 | Summary: java.util.concurrent; CompletableFuture; false; join; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual |
| 44 | Summary: java.util.concurrent; CompletionStage; false; toCompletableFuture; (); ; Argument[this]; ReturnValue; taint; manual |
| 45 | Summary: java.util.concurrent; ExecutorService; true; submit; (Runnable); ; Argument[0]; ReturnValue; taint; manual |
| 46 | Summary: java.util.concurrent; Future; true; get; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual |
| 47 | Summary: java.util.logging; Logger; false; getLogger; (String); ; Argument[0]; ReturnValue.SyntheticField[java.util.logging.Logger.name]; value; manual |
| 48 | Summary: java.util.logging; Logger; false; getName; (); ; Argument[this].SyntheticField[java.util.logging.Logger.name]; ReturnValue; value; manual |
| 49 | Summary: java.util; EventObject; false; EventObject; (Object); ; Argument[0]; Argument[this].Field[java.util.EventObject.source]; value; manual |
| 50 | Summary: java.util; EventObject; true; getSource; (); ; Argument[this].Field[java.util.EventObject.source]; ReturnValue; value; manual |
| 51 | Summary: java.util; ResourceBundle; true; getString; (String); ; Argument[this].MapValue; ReturnValue; value; manual |
| 52 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[this]; ReturnValue; value; manual |
| 53 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[0]; Argument[this]; taint; manual |
| 54 | Summary: java.util.regex; Pattern; false; compile; (String); ; Argument[0]; ReturnValue; taint; manual |
| 55 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual |
edges
| Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | provenance | |
| Test.java:35:49:35:64 | (...)... : String | Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:19 |
| Test.java:35:57:35:64 | source(...) : Object | Test.java:35:49:35:64 | (...)... : String | provenance | |
| Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | Test.java:36:26:36:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:36:26:36:40 | getMessage(...) : String | Test.java:36:18:36:40 | (...)... | provenance | |
| Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | |
| Test.java:38:49:38:67 | (...)... : Throwable | Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:22 |
| Test.java:38:60:38:67 | source(...) : Object | Test.java:38:49:38:67 | (...)... : Throwable | provenance | |
| Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:39:29:39:41 | getCause(...) : Throwable | provenance | MaD:30 |
| Test.java:39:29:39:41 | getCause(...) : Throwable | Test.java:39:18:39:41 | (...)... | provenance | |
| Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | provenance | |
| Test.java:41:57:41:72 | (...)... : String | Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | provenance | MaD:15 |
| Test.java:41:65:41:72 | source(...) : Object | Test.java:41:57:41:72 | (...)... : String | provenance | |
| Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | Test.java:42:26:42:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:42:26:42:40 | getMessage(...) : String | Test.java:42:18:42:40 | (...)... | provenance | |
| Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | provenance | |
| Test.java:44:54:44:69 | (...)... : String | Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | provenance | MaD:16 |
| Test.java:44:62:44:69 | source(...) : Object | Test.java:44:54:44:69 | (...)... : String | provenance | |
| Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | Test.java:45:26:45:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:45:26:45:40 | getMessage(...) : String | Test.java:45:18:45:40 | (...)... | provenance | |
| Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | provenance | |
| Test.java:47:62:47:77 | (...)... : String | Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | provenance | MaD:34 |
| Test.java:47:70:47:77 | source(...) : Object | Test.java:47:62:47:77 | (...)... : String | provenance | |
| Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | Test.java:48:26:48:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:48:26:48:40 | getMessage(...) : String | Test.java:48:18:48:40 | (...)... | provenance | |
| Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | provenance | |
| Test.java:50:41:50:59 | (...)... : Throwable | Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | provenance | MaD:29 |
| Test.java:50:52:50:59 | source(...) : Object | Test.java:50:41:50:59 | (...)... : Throwable | provenance | |
| Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | Test.java:51:29:51:40 | getCause(...) : Throwable | provenance | MaD:30 |
| Test.java:51:29:51:40 | getCause(...) : Throwable | Test.java:51:18:51:40 | (...)... | provenance | |
| Test.java:53:25:53:40 | (...)... : String | Test.java:55:18:55:19 | s2 : String | provenance | |
| Test.java:53:33:53:40 | source(...) : Object | Test.java:53:25:53:40 | (...)... : String | provenance | |
| Test.java:55:18:55:19 | s2 : String | Test.java:55:18:55:29 | charAt(...) | provenance | MaD:10 |
| Test.java:57:28:57:46 | (...)... : ResultSet | Test.java:58:18:58:19 | rs : ResultSet | provenance | |
| Test.java:57:39:57:46 | source(...) : Object | Test.java:57:28:57:46 | (...)... : ResultSet | provenance | |
| Test.java:58:18:58:19 | rs : ResultSet | Test.java:58:18:58:33 | getString(...) | provenance | MaD:37 |
| Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | provenance | |
| Test.java:64:44:64:59 | (...)... : String | Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | provenance | MaD:5 |
| Test.java:64:52:64:59 | source(...) : Object | Test.java:64:44:64:59 | (...)... : String | provenance | |
| Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | Test.java:65:26:65:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:65:26:65:40 | getMessage(...) : String | Test.java:65:18:65:40 | (...)... | provenance | |
| Test.java:67:22:67:35 | (...)... : File | Test.java:68:18:68:18 | f : File | provenance | |
| Test.java:67:28:67:35 | source(...) : Object | Test.java:67:22:67:35 | (...)... : File | provenance | |
| Test.java:68:18:68:18 | f : File | Test.java:68:18:68:28 | getName(...) | provenance | MaD:2 |
| Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | provenance | |
| Test.java:71:42:71:57 | (...)... : String | Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:12 |
| Test.java:71:50:71:57 | source(...) : Object | Test.java:71:42:71:57 | (...)... : String | provenance | |
| Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | Test.java:72:26:72:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:72:26:72:40 | getMessage(...) : String | Test.java:72:18:72:40 | (...)... | provenance | |
| Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | provenance | |
| Test.java:74:58:74:73 | (...)... : String | Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | provenance | MaD:17 |
| Test.java:74:66:74:73 | source(...) : Object | Test.java:74:58:74:73 | (...)... : String | provenance | |
| Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | Test.java:75:26:75:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:75:26:75:40 | getMessage(...) : String | Test.java:75:18:75:40 | (...)... | provenance | |
| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | |
| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | provenance | |
| Test.java:77:49:77:64 | (...)... : String | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:20 |
| Test.java:77:57:77:64 | source(...) : Object | Test.java:77:49:77:64 | (...)... : String | provenance | |
| Test.java:77:67:77:85 | (...)... : Throwable | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:21 |
| Test.java:77:78:77:85 | source(...) : Object | Test.java:77:67:77:85 | (...)... : Throwable | provenance | |
| Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | Test.java:78:26:78:40 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:78:26:78:40 | getMessage(...) : String | Test.java:78:18:78:40 | (...)... | provenance | |
| Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:79:29:79:41 | getCause(...) : Throwable | provenance | MaD:30 |
| Test.java:79:29:79:41 | getCause(...) : Throwable | Test.java:79:18:79:41 | (...)... | provenance | |
| Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | |
| Test.java:88:54:88:61 | source(...) : Object | Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:38 |
| Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:89:18:89:25 | get(...) | provenance | MaD:39 |
| Test.java:93:26:93:47 | (...)... : CharSequence | Test.java:93:18:93:48 | add(...) | provenance | MaD:53+MaD:52 |
| Test.java:93:40:93:47 | source(...) : Object | Test.java:93:26:93:47 | (...)... : CharSequence | provenance | |
| Test.java:95:32:95:53 | (...)... : StringJoiner | Test.java:96:18:96:20 | sj2 : StringJoiner | provenance | |
| Test.java:95:46:95:53 | source(...) : Object | Test.java:95:32:95:53 | (...)... : StringJoiner | provenance | |
| Test.java:96:18:96:20 | sj2 : StringJoiner | Test.java:96:18:96:32 | add(...) | provenance | MaD:52 |
| Test.java:104:32:104:50 | (...)... : Component | Test.java:104:18:104:51 | add(...) | provenance | MaD:1 |
| Test.java:104:43:104:50 | source(...) : Object | Test.java:104:32:104:50 | (...)... : Component | provenance | |
| Test.java:107:23:107:36 | (...)... : File | Test.java:108:18:108:19 | f1 : File | provenance | |
| Test.java:107:29:107:36 | source(...) : Object | Test.java:107:23:107:36 | (...)... : File | provenance | |
| Test.java:108:18:108:19 | f1 : File | Test.java:108:18:108:35 | getParentFile(...) | provenance | MaD:3 |
| Test.java:110:23:110:36 | (...)... : File | Test.java:111:18:111:19 | f2 : File | provenance | |
| Test.java:110:29:110:36 | source(...) : Object | Test.java:110:23:110:36 | (...)... : File | provenance | |
| Test.java:111:18:111:19 | f2 : File | Test.java:111:18:111:29 | getPath(...) | provenance | MaD:4 |
| Test.java:113:31:113:52 | (...)... : StringWriter | Test.java:114:18:114:19 | sw : StringWriter | provenance | |
| Test.java:113:31:113:52 | (...)... : StringWriter | Test.java:114:18:114:30 | toString(...) | provenance | %StringWriter |
| Test.java:113:45:113:52 | source(...) : Object | Test.java:113:31:113:52 | (...)... : StringWriter | provenance | |
| Test.java:114:18:114:19 | sw : StringWriter | Test.java:114:18:114:30 | toString(...) | provenance | MaD:6 |
| Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | provenance | |
| Test.java:116:52:116:72 | (...)... : IOException | Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | provenance | MaD:7 |
| Test.java:116:65:116:72 | source(...) : Object | Test.java:116:52:116:72 | (...)... : IOException | provenance | |
| Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | Test.java:117:29:117:40 | getCause(...) : IOException | provenance | MaD:30 |
| Test.java:117:29:117:40 | getCause(...) : IOException | Test.java:117:18:117:40 | (...)... | provenance | |
| Test.java:120:23:120:35 | (...)... : URL | Test.java:121:18:121:20 | url : URL | provenance | |
| Test.java:120:28:120:35 | source(...) : Object | Test.java:120:23:120:35 | (...)... : URL | provenance | |
| Test.java:121:18:121:20 | url : URL | Test.java:121:18:121:28 | toURI(...) | provenance | MaD:35 |
| Test.java:124:22:124:35 | (...)... : Path | Test.java:125:18:125:18 | p : Path | provenance | |
| Test.java:124:28:124:35 | source(...) : Object | Test.java:124:22:124:35 | (...)... : Path | provenance | |
| Test.java:125:18:125:18 | p : Path | Test.java:125:18:125:32 | getFileName(...) | provenance | MaD:36 |
| Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | |
| Test.java:129:20:129:27 | source(...) : Object | Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:40 |
| Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:130:18:130:25 | get(...) | provenance | MaD:39 |
| Test.java:135:29:135:46 | (...)... : Runnable | Test.java:135:18:135:47 | submit(...) | provenance | MaD:45 |
| Test.java:135:39:135:46 | source(...) : Object | Test.java:135:29:135:46 | (...)... : Runnable | provenance | |
| Test.java:137:34:137:58 | (...)... : CompletionStage | Test.java:138:18:138:19 | cs : CompletionStage | provenance | |
| Test.java:137:51:137:58 | source(...) : Object | Test.java:137:34:137:58 | (...)... : CompletionStage | provenance | |
| Test.java:138:18:138:19 | cs : CompletionStage | Test.java:138:18:138:41 | toCompletableFuture(...) | provenance | MaD:44 |
| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
| Test.java:141:26:141:33 | source(...) : Object | Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:41 |
| Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:142:18:142:26 | get(...) | provenance | MaD:46 |
| Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:143:18:143:27 | join(...) | provenance | MaD:43 |
| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
| Test.java:145:71:145:78 | source(...) : Object | Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:42 |
| Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:146:18:146:26 | get(...) | provenance | MaD:46 |
| Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:147:18:147:27 | join(...) | provenance | MaD:43 |
| Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | provenance | |
| Test.java:150:46:150:61 | (...)... : String | Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | provenance | MaD:47 |
| Test.java:150:54:150:61 | source(...) : Object | Test.java:150:46:150:61 | (...)... : String | provenance | |
| Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | Test.java:151:18:151:33 | getName(...) | provenance | MaD:48 |
| Test.java:154:31:154:63 | compile(...) : Pattern | Test.java:155:18:155:24 | pattern | provenance | |
| Test.java:154:47:154:62 | (...)... : String | Test.java:154:31:154:63 | compile(...) : Pattern | provenance | MaD:54 |
| Test.java:154:55:154:62 | source(...) : Object | Test.java:154:47:154:62 | (...)... : String | provenance | |
| Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | provenance | |
| Test.java:158:52:158:59 | source(...) : Object | Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | provenance | MaD:49 |
| Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | Test.java:159:18:159:37 | getSource(...) | provenance | MaD:50 |
| Test.java:163:33:163:80 | (...)... : ResourceBundle [<map.value>] : Object | Test.java:164:19:164:20 | in : ResourceBundle [<map.value>] : Object | provenance | |
| Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [<map.value>] : Object | Test.java:163:33:163:80 | (...)... : ResourceBundle [<map.value>] : Object | provenance | |
| Test.java:163:72:163:79 | source(...) : Object | Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [<map.value>] : Object | provenance | MaD:55 |
| Test.java:164:19:164:20 | in : ResourceBundle [<map.value>] : Object | Test.java:164:19:164:36 | getString(...) : String | provenance | MaD:51 |
| Test.java:164:19:164:36 | getString(...) : String | Test.java:165:18:165:20 | out | provenance | |
| Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | provenance | |
| Test.java:168:59:168:66 | source(...) : Object | Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | provenance | MaD:9 |
| Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | Test.java:169:26:169:47 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:169:26:169:47 | getMessage(...) : String | Test.java:169:18:169:47 | (...)... | provenance | |
| Test.java:171:34:171:41 | source(...) : Object | Test.java:171:18:171:42 | cast(...) | provenance | MaD:11 |
| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | provenance | |
| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | provenance | |
| Test.java:173:46:173:61 | (...)... : String | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:13 |
| Test.java:173:54:173:61 | source(...) : Object | Test.java:173:46:173:61 | (...)... : String | provenance | |
| Test.java:173:64:173:82 | (...)... : Throwable | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | provenance | MaD:14 |
| Test.java:173:75:173:82 | source(...) : Object | Test.java:173:64:173:82 | (...)... : Throwable | provenance | |
| Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | Test.java:174:26:174:44 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:174:26:174:44 | getMessage(...) : String | Test.java:174:18:174:44 | (...)... | provenance | |
| Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | Test.java:175:29:175:45 | getCause(...) : Throwable | provenance | MaD:30 |
| Test.java:175:29:175:45 | getCause(...) : Throwable | Test.java:175:18:175:45 | (...)... | provenance | |
| Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | provenance | |
| Test.java:177:57:177:72 | (...)... : String | Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | provenance | MaD:18 |
| Test.java:177:65:177:72 | source(...) : Object | Test.java:177:57:177:72 | (...)... : String | provenance | |
| Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | Test.java:178:26:178:44 | getMessage(...) : String | provenance | MaD:31 |
| Test.java:178:26:178:44 | getMessage(...) : String | Test.java:178:18:178:44 | (...)... | provenance | |
| Test.java:180:32:180:54 | (...)... : StringBuilder | Test.java:181:18:181:19 | sb : StringBuilder | provenance | |
| Test.java:180:47:180:54 | source(...) : Object | Test.java:180:32:180:54 | (...)... : StringBuilder | provenance | |
| Test.java:181:18:181:19 | sb : StringBuilder | Test.java:181:18:181:32 | delete(...) | provenance | MaD:8 |
| Test.java:183:30:183:59 | new Thread(...) : Thread | Test.java:184:18:184:24 | thread1 | provenance | |
| Test.java:183:41:183:58 | (...)... : Runnable | Test.java:183:30:183:59 | new Thread(...) : Thread | provenance | MaD:23 |
| Test.java:183:51:183:58 | source(...) : Object | Test.java:183:41:183:58 | (...)... : Runnable | provenance | |
| Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | provenance | |
| Test.java:186:41:186:56 | (...)... : String | Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | provenance | MaD:24 |
| Test.java:186:49:186:56 | source(...) : Object | Test.java:186:41:186:56 | (...)... : String | provenance | |
| Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | Test.java:187:18:187:34 | getName(...) | provenance | MaD:25 |
| Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | provenance | |
| Test.java:190:27:190:34 | source(...) : Object | Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | provenance | MaD:27 |
| Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | Test.java:191:18:191:32 | get(...) | provenance | MaD:26 |
| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | provenance | |
| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | provenance | |
| Test.java:193:42:193:57 | (...)... : String | Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | provenance | MaD:28 |
| Test.java:193:50:193:57 | source(...) : Object | Test.java:193:42:193:57 | (...)... : String | provenance | |
| Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | Test.java:194:26:194:49 | getLocalizedMessage(...) : String | provenance | MaD:32 |
| Test.java:194:26:194:49 | getLocalizedMessage(...) : String | Test.java:194:18:194:49 | (...)... | provenance | |
| Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | Test.java:195:18:195:30 | toString(...) | provenance | MaD:33 |
nodes
| Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String |
| Test.java:35:49:35:64 | (...)... : String | semmle.label | (...)... : String |
| Test.java:35:57:35:64 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:36:18:36:40 | (...)... | semmle.label | (...)... |
| Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | semmle.label | e1 : RuntimeException [java.lang.Throwable.message] : String |
| Test.java:36:26:36:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable |
| Test.java:38:49:38:67 | (...)... : Throwable | semmle.label | (...)... : Throwable |
| Test.java:38:60:38:67 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:39:18:39:41 | (...)... | semmle.label | (...)... |
| Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable |
| Test.java:39:29:39:41 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable |
| Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | semmle.label | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String |
| Test.java:41:57:41:72 | (...)... : String | semmle.label | (...)... : String |
| Test.java:41:65:41:72 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:42:18:42:40 | (...)... | semmle.label | (...)... |
| Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | semmle.label | e3 : IllegalArgumentException [java.lang.Throwable.message] : String |
| Test.java:42:26:42:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | semmle.label | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String |
| Test.java:44:54:44:69 | (...)... : String | semmle.label | (...)... : String |
| Test.java:44:62:44:69 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:45:18:45:40 | (...)... | semmle.label | (...)... |
| Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | semmle.label | e4 : IllegalStateException [java.lang.Throwable.message] : String |
| Test.java:45:26:45:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | semmle.label | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String |
| Test.java:47:62:47:77 | (...)... : String | semmle.label | (...)... : String |
| Test.java:47:70:47:77 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:48:18:48:40 | (...)... | semmle.label | (...)... |
| Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | semmle.label | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String |
| Test.java:48:26:48:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | semmle.label | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable |
| Test.java:50:41:50:59 | (...)... : Throwable | semmle.label | (...)... : Throwable |
| Test.java:50:52:50:59 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:51:18:51:40 | (...)... | semmle.label | (...)... |
| Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | semmle.label | t : Throwable [java.lang.Throwable.cause] : Throwable |
| Test.java:51:29:51:40 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable |
| Test.java:53:25:53:40 | (...)... : String | semmle.label | (...)... : String |
| Test.java:53:33:53:40 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:55:18:55:19 | s2 : String | semmle.label | s2 : String |
| Test.java:55:18:55:29 | charAt(...) | semmle.label | charAt(...) |
| Test.java:57:28:57:46 | (...)... : ResultSet | semmle.label | (...)... : ResultSet |
| Test.java:57:39:57:46 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:58:18:58:19 | rs : ResultSet | semmle.label | rs : ResultSet |
| Test.java:58:18:58:33 | getString(...) | semmle.label | getString(...) |
| Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | semmle.label | new IOException(...) : IOException [java.lang.Throwable.message] : String |
| Test.java:64:44:64:59 | (...)... : String | semmle.label | (...)... : String |
| Test.java:64:52:64:59 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:65:18:65:40 | (...)... | semmle.label | (...)... |
| Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | semmle.label | e1 : IOException [java.lang.Throwable.message] : String |
| Test.java:65:26:65:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:67:22:67:35 | (...)... : File | semmle.label | (...)... : File |
| Test.java:67:28:67:35 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:68:18:68:18 | f : File | semmle.label | f : File |
| Test.java:68:18:68:28 | getName(...) | semmle.label | getName(...) |
| Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | semmle.label | new Exception(...) : Exception [java.lang.Throwable.message] : String |
| Test.java:71:42:71:57 | (...)... : String | semmle.label | (...)... : String |
| Test.java:71:50:71:57 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:72:18:72:40 | (...)... | semmle.label | (...)... |
| Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | semmle.label | e2 : Exception [java.lang.Throwable.message] : String |
| Test.java:72:26:72:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | semmle.label | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String |
| Test.java:74:58:74:73 | (...)... : String | semmle.label | (...)... : String |
| Test.java:74:66:74:73 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:75:18:75:40 | (...)... | semmle.label | (...)... |
| Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | semmle.label | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String |
| Test.java:75:26:75:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable |
| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String |
| Test.java:77:49:77:64 | (...)... : String | semmle.label | (...)... : String |
| Test.java:77:57:77:64 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:77:67:77:85 | (...)... : Throwable | semmle.label | (...)... : Throwable |
| Test.java:77:78:77:85 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:78:18:78:40 | (...)... | semmle.label | (...)... |
| Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | semmle.label | e4 : RuntimeException [java.lang.Throwable.message] : String |
| Test.java:78:26:78:40 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:79:18:79:41 | (...)... | semmle.label | (...)... |
| Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | semmle.label | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable |
| Test.java:79:29:79:41 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable |
| Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object |
| Test.java:88:54:88:61 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object |
| Test.java:89:18:89:25 | get(...) | semmle.label | get(...) |
| Test.java:93:18:93:48 | add(...) | semmle.label | add(...) |
| Test.java:93:26:93:47 | (...)... : CharSequence | semmle.label | (...)... : CharSequence |
| Test.java:93:40:93:47 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:95:32:95:53 | (...)... : StringJoiner | semmle.label | (...)... : StringJoiner |
| Test.java:95:46:95:53 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:96:18:96:20 | sj2 : StringJoiner | semmle.label | sj2 : StringJoiner |
| Test.java:96:18:96:32 | add(...) | semmle.label | add(...) |
| Test.java:104:18:104:51 | add(...) | semmle.label | add(...) |
| Test.java:104:32:104:50 | (...)... : Component | semmle.label | (...)... : Component |
| Test.java:104:43:104:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:107:23:107:36 | (...)... : File | semmle.label | (...)... : File |
| Test.java:107:29:107:36 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:108:18:108:19 | f1 : File | semmle.label | f1 : File |
| Test.java:108:18:108:35 | getParentFile(...) | semmle.label | getParentFile(...) |
| Test.java:110:23:110:36 | (...)... : File | semmle.label | (...)... : File |
| Test.java:110:29:110:36 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:111:18:111:19 | f2 : File | semmle.label | f2 : File |
| Test.java:111:18:111:29 | getPath(...) | semmle.label | getPath(...) |
| Test.java:113:31:113:52 | (...)... : StringWriter | semmle.label | (...)... : StringWriter |
| Test.java:113:45:113:52 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:114:18:114:19 | sw : StringWriter | semmle.label | sw : StringWriter |
| Test.java:114:18:114:30 | toString(...) | semmle.label | toString(...) |
| Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | semmle.label | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException |
| Test.java:116:52:116:72 | (...)... : IOException | semmle.label | (...)... : IOException |
| Test.java:116:65:116:72 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:117:18:117:40 | (...)... | semmle.label | (...)... |
| Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | semmle.label | e : UncheckedIOException [java.lang.Throwable.cause] : IOException |
| Test.java:117:29:117:40 | getCause(...) : IOException | semmle.label | getCause(...) : IOException |
| Test.java:120:23:120:35 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:120:28:120:35 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:121:18:121:20 | url : URL | semmle.label | url : URL |
| Test.java:121:18:121:28 | toURI(...) | semmle.label | toURI(...) |
| Test.java:124:22:124:35 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:124:28:124:35 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:125:18:125:18 | p : Path | semmle.label | p : Path |
| Test.java:125:18:125:32 | getFileName(...) | semmle.label | getFileName(...) |
| Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object |
| Test.java:129:20:129:27 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | semmle.label | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object |
| Test.java:130:18:130:25 | get(...) | semmle.label | get(...) |
| Test.java:135:18:135:47 | submit(...) | semmle.label | submit(...) |
| Test.java:135:29:135:46 | (...)... : Runnable | semmle.label | (...)... : Runnable |
| Test.java:135:39:135:46 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:137:34:137:58 | (...)... : CompletionStage | semmle.label | (...)... : CompletionStage |
| Test.java:137:51:137:58 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:138:18:138:19 | cs : CompletionStage | semmle.label | cs : CompletionStage |
| Test.java:138:18:138:41 | toCompletableFuture(...) | semmle.label | toCompletableFuture(...) |
| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object |
| Test.java:141:26:141:33 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object |
| Test.java:142:18:142:26 | get(...) | semmle.label | get(...) |
| Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object |
| Test.java:143:18:143:27 | join(...) | semmle.label | join(...) |
| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object |
| Test.java:145:71:145:78 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object |
| Test.java:146:18:146:26 | get(...) | semmle.label | get(...) |
| Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | semmle.label | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object |
| Test.java:147:18:147:27 | join(...) | semmle.label | join(...) |
| Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | semmle.label | getLogger(...) : Logger [java.util.logging.Logger.name] : String |
| Test.java:150:46:150:61 | (...)... : String | semmle.label | (...)... : String |
| Test.java:150:54:150:61 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | semmle.label | logger : Logger [java.util.logging.Logger.name] : String |
| Test.java:151:18:151:33 | getName(...) | semmle.label | getName(...) |
| Test.java:154:31:154:63 | compile(...) : Pattern | semmle.label | compile(...) : Pattern |
| Test.java:154:47:154:62 | (...)... : String | semmle.label | (...)... : String |
| Test.java:154:55:154:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:155:18:155:24 | pattern | semmle.label | pattern |
| Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | semmle.label | new EventObject(...) : EventObject [source] : Object |
| Test.java:158:52:158:59 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | semmle.label | eventObj : EventObject [source] : Object |
| Test.java:159:18:159:37 | getSource(...) | semmle.label | getSource(...) |
| Test.java:163:33:163:80 | (...)... : ResourceBundle [<map.value>] : Object | semmle.label | (...)... : ResourceBundle [<map.value>] : Object |
| Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [<map.value>] : Object | semmle.label | newWithMapValueDefault(...) : Object [<map.value>] : Object |
| Test.java:163:72:163:79 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:164:19:164:20 | in : ResourceBundle [<map.value>] : Object | semmle.label | in : ResourceBundle [<map.value>] : Object |
| Test.java:164:19:164:36 | getString(...) : String | semmle.label | getString(...) : String |
| Test.java:165:18:165:20 | out | semmle.label | out |
| Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | semmle.label | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object |
| Test.java:168:59:168:66 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:169:18:169:47 | (...)... | semmle.label | (...)... |
| Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | semmle.label | assertErr : AssertionError [java.lang.Throwable.message] : Object |
| Test.java:169:26:169:47 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:171:18:171:42 | cast(...) | semmle.label | cast(...) |
| Test.java:171:34:171:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | semmle.label | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable |
| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | semmle.label | new Exception(...) : Exception [java.lang.Throwable.message] : String |
| Test.java:173:46:173:61 | (...)... : String | semmle.label | (...)... : String |
| Test.java:173:54:173:61 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:173:64:173:82 | (...)... : Throwable | semmle.label | (...)... : Throwable |
| Test.java:173:75:173:82 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:174:18:174:44 | (...)... | semmle.label | (...)... |
| Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | semmle.label | excep1 : Exception [java.lang.Throwable.message] : String |
| Test.java:174:26:174:44 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:175:18:175:45 | (...)... | semmle.label | (...)... |
| Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | semmle.label | excep1 : Exception [java.lang.Throwable.cause] : Throwable |
| Test.java:175:29:175:45 | getCause(...) : Throwable | semmle.label | getCause(...) : Throwable |
| Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | semmle.label | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String |
| Test.java:177:57:177:72 | (...)... : String | semmle.label | (...)... : String |
| Test.java:177:65:177:72 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:178:18:178:44 | (...)... | semmle.label | (...)... |
| Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | semmle.label | excep2 : NullPointerException [java.lang.Throwable.message] : String |
| Test.java:178:26:178:44 | getMessage(...) : String | semmle.label | getMessage(...) : String |
| Test.java:180:32:180:54 | (...)... : StringBuilder | semmle.label | (...)... : StringBuilder |
| Test.java:180:47:180:54 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:181:18:181:19 | sb : StringBuilder | semmle.label | sb : StringBuilder |
| Test.java:181:18:181:32 | delete(...) | semmle.label | delete(...) |
| Test.java:183:30:183:59 | new Thread(...) : Thread | semmle.label | new Thread(...) : Thread |
| Test.java:183:41:183:58 | (...)... : Runnable | semmle.label | (...)... : Runnable |
| Test.java:183:51:183:58 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:184:18:184:24 | thread1 | semmle.label | thread1 |
| Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | semmle.label | new Thread(...) : Thread [java.lang.Thread.name] : String |
| Test.java:186:41:186:56 | (...)... : String | semmle.label | (...)... : String |
| Test.java:186:49:186:56 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | semmle.label | thread2 : Thread [java.lang.Thread.name] : String |
| Test.java:187:18:187:34 | getName(...) | semmle.label | getName(...) |
| Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | semmle.label | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object |
| Test.java:190:27:190:34 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | semmle.label | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object |
| Test.java:191:18:191:32 | get(...) | semmle.label | get(...) |
| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | semmle.label | new Throwable(...) : Throwable [java.lang.Throwable.message] : String |
| Test.java:193:42:193:57 | (...)... : String | semmle.label | (...)... : String |
| Test.java:193:50:193:57 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:194:18:194:49 | (...)... | semmle.label | (...)... |
| Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | semmle.label | th : Throwable [java.lang.Throwable.message] : String |
| Test.java:194:26:194:49 | getLocalizedMessage(...) : String | semmle.label | getLocalizedMessage(...) : String |
| Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | semmle.label | th : Throwable [java.lang.Throwable.message] : String |
| Test.java:195:18:195:30 | toString(...) | semmle.label | toString(...) |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,114 @@
models
edges
| A.java:9:8:9:15 | x : Object | A.java:10:11:10:11 | x : Object | provenance | |
| A.java:9:8:9:15 | x : Object | A.java:10:11:10:11 | x : Object | provenance | |
| A.java:10:11:10:11 | x : Object | A.java:21:14:21:21 | x : Object | provenance | |
| A.java:10:11:10:11 | x : Object | A.java:34:14:34:21 | x : Object | provenance | |
| A.java:13:19:13:26 | x : Object | A.java:14:11:14:11 | x : Object | provenance | |
| A.java:13:19:13:26 | x : Object | A.java:14:11:14:11 | x : Object | provenance | |
| A.java:13:19:13:26 | x : Object | A.java:14:11:14:11 | x : Object | provenance | |
| A.java:14:11:14:11 | x : Object | A.java:21:14:21:21 | x : Object | provenance | |
| A.java:14:11:14:11 | x : Object | A.java:21:14:21:21 | x : Object | provenance | |
| A.java:14:11:14:11 | x : Object | A.java:34:14:34:21 | x : Object | provenance | |
| A.java:14:11:14:11 | x : Object | A.java:34:14:34:21 | x : Object | provenance | |
| A.java:17:19:17:26 | x : Object | A.java:18:16:18:16 | x : Object | provenance | |
| A.java:17:19:17:26 | x : Object | A.java:18:16:18:16 | x : Object | provenance | |
| A.java:17:19:17:26 | x : Object | A.java:18:16:18:16 | x : Object | provenance | |
| A.java:18:16:18:16 | x : Object | A.java:21:14:21:21 | x : Object | provenance | |
| A.java:18:16:18:16 | x : Object | A.java:21:14:21:21 | x : Object | provenance | |
| A.java:18:16:18:16 | x : Object | A.java:34:14:34:21 | x : Object | provenance | |
| A.java:18:16:18:16 | x : Object | A.java:34:14:34:21 | x : Object | provenance | |
| A.java:21:14:21:21 | x : Object | A.java:23:12:23:13 | c1 | provenance | |
| A.java:30:8:30:15 | x : Object | A.java:31:13:31:13 | x : Object | provenance | |
| A.java:31:13:31:13 | x : Object | A.java:9:8:9:15 | x : Object | provenance | |
| A.java:34:14:34:21 | x : Object | A.java:36:12:36:13 | c2 | provenance | |
| A.java:40:16:40:26 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | |
| A.java:44:31:44:38 | x : Object | A.java:45:12:45:12 | x : Object | provenance | |
| A.java:44:31:44:38 | x : Object | A.java:45:12:45:12 | x : Object | provenance | |
| A.java:44:31:44:38 | x : Object | A.java:45:12:45:12 | x : Object | provenance | |
| A.java:45:12:45:12 | x : Object | A.java:21:14:21:21 | x : Object | provenance | |
| A.java:45:12:45:12 | x : Object | A.java:21:14:21:21 | x : Object | provenance | |
| A.java:45:12:45:12 | x : Object | A.java:34:14:34:21 | x : Object | provenance | |
| A.java:45:12:45:12 | x : Object | A.java:34:14:34:21 | x : Object | provenance | |
| A.java:49:16:49:28 | source(...) : Object | A.java:13:19:13:26 | x : Object | provenance | |
| A.java:50:16:50:28 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | |
| A.java:51:17:51:29 | source(...) : Object | A.java:44:31:44:38 | x : Object | provenance | |
| A.java:53:12:53:23 | source(...) : Object | A.java:9:8:9:15 | x : Object | provenance | |
| A.java:54:23:54:36 | source(...) : Object | A.java:13:19:13:26 | x : Object | provenance | |
| A.java:55:23:55:36 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | |
| A.java:56:24:56:37 | source(...) : Object | A.java:44:31:44:38 | x : Object | provenance | |
| A.java:58:12:58:23 | source(...) : Object | A.java:30:8:30:15 | x : Object | provenance | |
| A.java:59:23:59:36 | source(...) : Object | A.java:13:19:13:26 | x : Object | provenance | |
| A.java:60:23:60:36 | source(...) : Object | A.java:17:19:17:26 | x : Object | provenance | |
| A.java:61:24:61:37 | source(...) : Object | A.java:44:31:44:38 | x : Object | provenance | |
| A.java:65:15:65:22 | x : Object | A.java:66:11:66:11 | x : Object | provenance | |
| A.java:65:15:65:22 | x : Object | A.java:66:11:66:11 | x : Object | provenance | |
| A.java:66:11:66:11 | x : Object | A.java:69:14:69:21 | x : Object | provenance | |
| A.java:66:11:66:11 | x : Object | A.java:75:14:75:21 | x : Object | provenance | |
| A.java:66:11:66:11 | x : Object | A.java:75:14:75:21 | x : Object | provenance | |
| A.java:66:11:66:11 | x : Object | A.java:81:14:81:21 | x : Object | provenance | |
| A.java:66:11:66:11 | x : Object | A.java:81:14:81:21 | x : Object | provenance | |
| A.java:66:11:66:11 | x : Object | A.java:87:14:87:21 | x : Object | provenance | |
| A.java:69:14:69:21 | x : Object | A.java:70:12:70:12 | x | provenance | |
| A.java:75:14:75:21 | x : Object | A.java:76:12:76:12 | x | provenance | |
| A.java:81:14:81:21 | x : Object | A.java:82:12:82:12 | x | provenance | |
| A.java:87:14:87:21 | x : Object | A.java:88:12:88:12 | x | provenance | |
| A.java:93:12:93:22 | source(...) : Object | A.java:65:15:65:22 | x : Object | provenance | |
| A.java:96:14:96:26 | source(...) : Object | A.java:65:15:65:22 | x : Object | provenance | |
nodes
| A.java:9:8:9:15 | x : Object | semmle.label | x : Object |
| A.java:9:8:9:15 | x : Object | semmle.label | x : Object |
| A.java:10:11:10:11 | x : Object | semmle.label | x : Object |
| A.java:10:11:10:11 | x : Object | semmle.label | x : Object |
| A.java:13:19:13:26 | x : Object | semmle.label | x : Object |
| A.java:13:19:13:26 | x : Object | semmle.label | x : Object |
| A.java:13:19:13:26 | x : Object | semmle.label | x : Object |
| A.java:14:11:14:11 | x : Object | semmle.label | x : Object |
| A.java:14:11:14:11 | x : Object | semmle.label | x : Object |
| A.java:14:11:14:11 | x : Object | semmle.label | x : Object |
| A.java:17:19:17:26 | x : Object | semmle.label | x : Object |
| A.java:17:19:17:26 | x : Object | semmle.label | x : Object |
| A.java:17:19:17:26 | x : Object | semmle.label | x : Object |
| A.java:18:16:18:16 | x : Object | semmle.label | x : Object |
| A.java:18:16:18:16 | x : Object | semmle.label | x : Object |
| A.java:18:16:18:16 | x : Object | semmle.label | x : Object |
| A.java:21:14:21:21 | x : Object | semmle.label | x : Object |
| A.java:23:12:23:13 | c1 | semmle.label | c1 |
| A.java:30:8:30:15 | x : Object | semmle.label | x : Object |
| A.java:31:13:31:13 | x : Object | semmle.label | x : Object |
| A.java:34:14:34:21 | x : Object | semmle.label | x : Object |
| A.java:36:12:36:13 | c2 | semmle.label | c2 |
| A.java:40:16:40:26 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:44:31:44:38 | x : Object | semmle.label | x : Object |
| A.java:44:31:44:38 | x : Object | semmle.label | x : Object |
| A.java:44:31:44:38 | x : Object | semmle.label | x : Object |
| A.java:45:12:45:12 | x : Object | semmle.label | x : Object |
| A.java:45:12:45:12 | x : Object | semmle.label | x : Object |
| A.java:45:12:45:12 | x : Object | semmle.label | x : Object |
| A.java:49:16:49:28 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:50:16:50:28 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:51:17:51:29 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:53:12:53:23 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:54:23:54:36 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:55:23:55:36 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:56:24:56:37 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:58:12:58:23 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:59:23:59:36 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:60:23:60:36 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:61:24:61:37 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:65:15:65:22 | x : Object | semmle.label | x : Object |
| A.java:65:15:65:22 | x : Object | semmle.label | x : Object |
| A.java:66:11:66:11 | x : Object | semmle.label | x : Object |
| A.java:66:11:66:11 | x : Object | semmle.label | x : Object |
| A.java:69:14:69:21 | x : Object | semmle.label | x : Object |
| A.java:70:12:70:12 | x | semmle.label | x |
| A.java:75:14:75:21 | x : Object | semmle.label | x : Object |
| A.java:76:12:76:12 | x | semmle.label | x |
| A.java:81:14:81:21 | x : Object | semmle.label | x : Object |
| A.java:82:12:82:12 | x | semmle.label | x |
| A.java:87:14:87:21 | x : Object | semmle.label | x : Object |
| A.java:88:12:88:12 | x | semmle.label | x |
| A.java:93:12:93:22 | source(...) : Object | semmle.label | source(...) : Object |
| A.java:96:14:96:26 | source(...) : Object | semmle.label | source(...) : Object |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,550 @@
models
| 1 | Summary: java.lang; Iterable; true; forEach; (Consumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual |
| 2 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual |
| 3 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
| 4 | Summary: java.util; Map; true; forEach; (BiConsumer); ; Argument[this].MapKey; Argument[0].Parameter[0]; value; manual |
| 5 | Summary: java.util; Map; true; forEach; (BiConsumer); ; Argument[this].MapValue; Argument[0].Parameter[1]; value; manual |
| 6 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual |
| 7 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
edges
| B.java:11:5:11:6 | l1 [post update] : ArrayList [<element>] : String | B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | provenance | |
| B.java:11:12:11:22 | source(...) : String | B.java:11:5:11:6 | l1 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | B.java:13:16:13:16 | e : String | provenance | MaD:1 |
| B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | provenance | MaD:1 |
| B.java:13:16:13:16 | e : String | B.java:13:28:13:28 | e : String | provenance | |
| B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | B.java:13:16:13:29 | List<String> l2 : ArrayList [<element>] : String | provenance | |
| B.java:13:16:13:29 | List<String> l2 : ArrayList [<element>] : String | B.java:14:10:14:11 | l2 : ArrayList [<element>] : String | provenance | |
| B.java:13:21:13:22 | l2 [post update] : ArrayList [<element>] : String | B.java:13:21:13:22 | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | provenance | |
| B.java:13:21:13:22 | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | B.java:13:16:13:29 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | provenance | |
| B.java:13:28:13:28 | e : String | B.java:13:21:13:22 | l2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:14:10:14:11 | l2 : ArrayList [<element>] : String | B.java:14:10:14:18 | get(...) | provenance | MaD:3 |
| B.java:22:26:22:26 | x : String | B.java:22:68:22:68 | x : String | provenance | |
| B.java:22:56:22:60 | other [post update] : B [bf1] : String | B.java:22:56:22:60 | this : new Consumer<String>(...) { ... } [B other, bf1] : String | provenance | |
| B.java:22:56:22:60 | this : new Consumer<String>(...) { ... } [B other, bf1] : String | B.java:22:26:22:71 | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String | provenance | |
| B.java:22:68:22:68 | x : String | B.java:22:56:22:60 | other [post update] : B [bf1] : String | provenance | |
| B.java:30:5:30:5 | B other : B [bf1] : String | B.java:34:10:34:14 | other : B [bf1] : String | provenance | |
| B.java:30:5:30:5 | f [post update] : new Consumer<String>(...) { ... } [B other, bf1] : String | B.java:30:5:30:5 | B other : B [bf1] : String | provenance | |
| B.java:30:14:30:24 | source(...) : String | B.java:22:26:22:26 | x : String | provenance | |
| B.java:30:14:30:24 | source(...) : String | B.java:30:5:30:5 | f [post update] : new Consumer<String>(...) { ... } [B other, bf1] : String | provenance | |
| B.java:34:10:34:14 | other : B [bf1] : String | B.java:34:10:34:18 | other.bf1 | provenance | |
| B.java:38:23:38:45 | inp : HashMap [<map.key>] : String | B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | provenance | |
| B.java:38:23:38:45 | inp : HashMap [<map.value>] : String | B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | provenance | |
| B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | provenance | MaD:4 |
| B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | B.java:39:18:39:20 | key : String | provenance | MaD:4 |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | provenance | MaD:5 |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | B.java:39:23:39:27 | value : String | provenance | MaD:5 |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | B.java:39:17:39:56 | out : HashMap [<map.key>] : String | provenance | |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | B.java:39:17:39:56 | out : HashMap [<map.value>] : String | provenance | |
| B.java:39:17:39:56 | out : HashMap [<map.key>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.key>] : String | provenance | |
| B.java:39:17:39:56 | out : HashMap [<map.value>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.value>] : String | provenance | |
| B.java:39:18:39:20 | key : String | B.java:39:43:39:45 | key : String | provenance | |
| B.java:39:23:39:27 | value : String | B.java:39:48:39:52 | value : String | provenance | |
| B.java:39:35:39:37 | out [post update] : HashMap [<map.key>] : String | B.java:39:35:39:37 | this : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | provenance | |
| B.java:39:35:39:37 | out [post update] : HashMap [<map.value>] : String | B.java:39:35:39:37 | this : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | provenance | |
| B.java:39:35:39:37 | this : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | provenance | |
| B.java:39:35:39:37 | this : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | provenance | |
| B.java:39:43:39:45 | key : String | B.java:39:35:39:37 | out [post update] : HashMap [<map.key>] : String | provenance | MaD:6 |
| B.java:39:48:39:52 | value : String | B.java:39:35:39:37 | out [post update] : HashMap [<map.value>] : String | provenance | MaD:7 |
| B.java:45:5:45:6 | m1 [post update] : HashMap [<map.key>] : String | B.java:46:13:46:14 | m1 : HashMap [<map.key>] : String | provenance | |
| B.java:45:5:45:6 | m1 [post update] : HashMap [<map.value>] : String | B.java:46:13:46:14 | m1 : HashMap [<map.value>] : String | provenance | |
| B.java:45:12:45:24 | source(...) : String | B.java:45:5:45:6 | m1 [post update] : HashMap [<map.key>] : String | provenance | MaD:6 |
| B.java:45:27:45:41 | source(...) : String | B.java:45:5:45:6 | m1 [post update] : HashMap [<map.value>] : String | provenance | MaD:7 |
| B.java:46:13:46:14 | m1 : HashMap [<map.key>] : String | B.java:38:23:38:45 | inp : HashMap [<map.key>] : String | provenance | |
| B.java:46:13:46:14 | m1 : HashMap [<map.key>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.key>] : String | provenance | MaD:4 |
| B.java:46:13:46:14 | m1 : HashMap [<map.value>] : String | B.java:38:23:38:45 | inp : HashMap [<map.value>] : String | provenance | |
| B.java:46:13:46:14 | m1 : HashMap [<map.value>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.value>] : String | provenance | MaD:5 |
| B.java:46:17:46:18 | m2 [post update] : HashMap [<map.key>] : String | B.java:47:5:47:6 | m2 : HashMap [<map.key>] : String | provenance | |
| B.java:46:17:46:18 | m2 [post update] : HashMap [<map.value>] : String | B.java:47:5:47:6 | m2 : HashMap [<map.value>] : String | provenance | |
| B.java:47:5:47:6 | m2 : HashMap [<map.key>] : String | B.java:47:17:47:17 | k : String | provenance | MaD:4 |
| B.java:47:5:47:6 | m2 : HashMap [<map.value>] : String | B.java:47:20:47:20 | v : String | provenance | MaD:5 |
| B.java:47:17:47:17 | k : String | B.java:48:12:48:12 | k | provenance | |
| B.java:47:20:47:20 | v : String | B.java:49:12:49:12 | v | provenance | |
| B.java:57:18:57:34 | source(...) : String | B.java:60:21:60:32 | param : String | provenance | |
| B.java:60:21:60:32 | param : String | B.java:66:5:66:5 | param : String | provenance | |
| B.java:61:18:65:5 | parameter this : new Runnable(...) { ... } [param] : String | B.java:64:12:64:16 | this : new Runnable(...) { ... } [param] : String | provenance | |
| B.java:64:12:64:16 | this : new Runnable(...) { ... } [param] : String | B.java:64:12:64:16 | param | provenance | |
| B.java:66:5:66:5 | param : String | B.java:66:5:66:5 | r : new Runnable(...) { ... } [param] : String | provenance | |
| B.java:66:5:66:5 | r : new Runnable(...) { ... } [param] : String | B.java:61:18:65:5 | parameter this : new Runnable(...) { ... } [param] : String | provenance | |
| B.java:71:19:71:23 | other [post update] : B [elem] : String | B.java:74:10:74:14 | other : B [elem] : String | provenance | |
| B.java:74:10:74:14 | other : B [elem] : String | B.java:74:10:74:19 | other.elem | provenance | |
| B.java:77:22:77:28 | param [Return] : B [elem] : String | B.java:71:19:71:23 | other [post update] : B [elem] : String | provenance | |
| B.java:78:18:81:5 | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String | B.java:82:5:82:5 | r [post update] : new Runnable(...) { ... } [param, elem] : String | provenance | |
| B.java:80:7:80:11 | param [post update] : B [elem] : String | B.java:80:7:80:11 | this : new Runnable(...) { ... } [param, elem] : String | provenance | |
| B.java:80:7:80:11 | this : new Runnable(...) { ... } [param, elem] : String | B.java:78:18:81:5 | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String | provenance | |
| B.java:80:20:80:39 | source(...) : String | B.java:80:7:80:11 | param [post update] : B [elem] : String | provenance | |
| B.java:82:5:82:5 | param : B [elem] : String | B.java:77:22:77:28 | param [Return] : B [elem] : String | provenance | |
| B.java:82:5:82:5 | r [post update] : new Runnable(...) { ... } [param, elem] : String | B.java:82:5:82:5 | param : B [elem] : String | provenance | |
| B.java:88:22:88:44 | parameter this : new Runnable(...) { ... } [B b, elem] : String | B.java:88:35:88:35 | this : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:88:35:88:35 | b : B [elem] : String | B.java:88:35:88:40 | b.elem | provenance | |
| B.java:88:35:88:35 | this : new Runnable(...) { ... } [B b, elem] : String | B.java:88:35:88:35 | b : B [elem] : String | provenance | |
| B.java:89:20:89:52 | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String | B.java:96:5:96:5 | r [post update] : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:89:28:89:28 | b [post update] : B [elem] : String | B.java:89:28:89:28 | this : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:89:28:89:28 | this : new Runnable(...) { ... } [B b, elem] : String | B.java:89:20:89:52 | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:89:37:89:49 | source(...) : String | B.java:89:28:89:28 | b [post update] : B [elem] : String | provenance | |
| B.java:91:11:91:13 | B b : B [elem] : String | B.java:92:11:92:15 | B b : B [elem] : String | provenance | |
| B.java:91:11:91:13 | src [post update] : new Runnable(...) { ... } [B b, elem] : String | B.java:91:11:91:13 | B b : B [elem] : String | provenance | |
| B.java:92:11:92:15 | B b : B [elem] : String | B.java:92:11:92:15 | sink2 : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:92:11:92:15 | sink2 : new Runnable(...) { ... } [B b, elem] : String | B.java:95:14:95:23 | r : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:95:14:95:23 | r : new Runnable(...) { ... } [B b, elem] : String | B.java:96:5:96:5 | r : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:95:14:95:23 | r [Return] : new Runnable(...) { ... } [B b, elem] : String | B.java:91:11:91:13 | src [post update] : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:96:5:96:5 | r : new Runnable(...) { ... } [B b, elem] : String | B.java:88:22:88:44 | parameter this : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:96:5:96:5 | r [post update] : new Runnable(...) { ... } [B b, elem] : String | B.java:95:14:95:23 | r [Return] : new Runnable(...) { ... } [B b, elem] : String | provenance | |
| B.java:102:5:102:6 | l1 [post update] : ArrayList [<element>] : String | B.java:103:12:103:13 | l1 : ArrayList [<element>] : String | provenance | |
| B.java:102:12:102:29 | source(...) : String | B.java:102:5:102:6 | l1 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:103:5:103:6 | l2 [post update] : ArrayList [<element>, <element>] : String | B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | provenance | |
| B.java:103:12:103:13 | l1 : ArrayList [<element>] : String | B.java:103:5:103:6 | l2 [post update] : ArrayList [<element>, <element>] : String | provenance | MaD:2 |
| B.java:104:16:104:32 | source(...) : String | B.java:107:16:111:6 | String s : String | provenance | |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:107:16 | l : ArrayList [<element>] : String | provenance | MaD:1 |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | provenance | MaD:1 |
| B.java:107:16:107:16 | l : ArrayList [<element>] : String | B.java:107:21:107:21 | l : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | MaD:1 |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | heuristic-callback |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | MaD:1 |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | heuristic-callback |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | B.java:107:16:111:6 | List<String> out1 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | List<String> out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | List<String> out1 : ArrayList [<element>] : String | B.java:112:10:112:13 | out1 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | List<String> out2 : ArrayList [<element>] : String | B.java:113:10:113:13 | out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:16:111:6 | String s : String | B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | |
| B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [String s] : String | provenance | |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | B.java:107:31:107:31 | x : String | provenance | MaD:1 |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | provenance | MaD:1 |
| B.java:107:31:107:31 | x : String | B.java:109:16:109:16 | x : String | provenance | |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | MaD:1 |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | MaD:1 |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | heuristic-callback |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | heuristic-callback |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | provenance | MaD:1 |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | provenance | heuristic-callback |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | B.java:107:31:111:5 | List<String> out1 : ArrayList [<element>] : String | provenance | |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out1 : ArrayList [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | String s : String | B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | provenance | |
| B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | B.java:108:12:108:12 | this : new Consumer<String>(...) { ... } [String s] : String | provenance | |
| B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | B.java:110:16:110:16 | this : new Consumer<String>(...) { ... } [String s] : String | provenance | |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | provenance | |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:31:111:5 | String s : String | provenance | |
| B.java:108:12:108:12 | this : new Consumer<String>(...) { ... } [String s] : String | B.java:108:12:108:12 | s | provenance | |
| B.java:109:7:109:10 | out1 [post update] : ArrayList [<element>] : String | B.java:109:7:109:10 | this : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | provenance | |
| B.java:109:7:109:10 | this : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | provenance | |
| B.java:109:16:109:16 | x : String | B.java:109:7:109:10 | out1 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:110:7:110:10 | out2 [post update] : ArrayList [<element>] : String | B.java:110:7:110:10 | this : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:110:7:110:10 | this : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | provenance | |
| B.java:110:16:110:16 | s : String | B.java:110:7:110:10 | out2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:110:16:110:16 | this : new Consumer<String>(...) { ... } [String s] : String | B.java:110:16:110:16 | s : String | provenance | |
| B.java:112:10:112:13 | out1 : ArrayList [<element>] : String | B.java:112:10:112:20 | get(...) | provenance | MaD:3 |
| B.java:113:10:113:13 | out2 : ArrayList [<element>] : String | B.java:113:10:113:20 | get(...) | provenance | MaD:3 |
| B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:127:9:127:10 | l1 [post update] : ArrayList [<element>] : String | B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:127:16:127:29 | source(...) : String | B.java:127:9:127:10 | l1 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:131:9:131:10 | l2 [post update] : ArrayList [<element>] : String | B.java:131:9:131:10 | this : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | provenance | |
| B.java:131:9:131:10 | this : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | provenance | |
| B.java:131:16:131:17 | l1 : ArrayList [<element>] : String | B.java:131:16:131:24 | get(...) : String | provenance | MaD:3 |
| B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:131:16:131:17 | l1 : ArrayList [<element>] : String | provenance | |
| B.java:131:16:131:24 | get(...) : String | B.java:131:9:131:10 | l2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:136:5:136:5 | List<String> l1 : ArrayList [<element>] : String | B.java:137:5:137:5 | List<String> l1 : ArrayList [<element>] : String | provenance | |
| B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:136:5:136:5 | List<String> l1 : ArrayList [<element>] : String | provenance | |
| B.java:137:5:137:5 | List<String> l1 : ArrayList [<element>] : String | B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:137:5:137:5 | List<String> l2 : ArrayList [<element>] : String | B.java:138:10:138:11 | l2 : ArrayList [<element>] : String | provenance | |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | provenance | |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | provenance | MaD:3 |
| B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | B.java:137:5:137:5 | List<String> l2 : ArrayList [<element>] : String | provenance | |
| B.java:138:10:138:11 | l2 : ArrayList [<element>] : String | B.java:138:10:138:18 | get(...) | provenance | MaD:3 |
| B.java:142:16:142:31 | source(...) : String | B.java:148:17:148:29 | String s : String | provenance | |
| B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | B.java:145:28:145:28 | this : MyLocal [String s] : String | provenance | |
| B.java:145:19:145:22 | this [post update] : MyLocal [f] : String | B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | provenance | |
| B.java:145:28:145:28 | s : String | B.java:145:19:145:22 | this [post update] : MyLocal [f] : String | provenance | |
| B.java:145:28:145:28 | this : MyLocal [String s] : String | B.java:145:28:145:28 | s : String | provenance | |
| B.java:146:14:146:17 | parameter this : MyLocal [f] : String | B.java:146:30:146:33 | this : MyLocal [f] : String | provenance | |
| B.java:146:30:146:33 | this : MyLocal [f] : String | B.java:146:30:146:35 | this.f : String | provenance | |
| B.java:148:17:148:29 | String s : String | B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | provenance | |
| B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | B.java:149:10:149:10 | m : MyLocal [f] : String | provenance | |
| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | provenance | |
| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | provenance | |
| B.java:149:10:149:10 | m : MyLocal [f] : String | B.java:146:14:146:17 | parameter this : MyLocal [f] : String | provenance | |
| B.java:149:10:149:10 | m : MyLocal [f] : String | B.java:149:10:149:17 | getF(...) | provenance | |
| B.java:153:17:153:28 | source(...) : String | B.java:173:18:173:30 | String s1 : String | provenance | |
| B.java:154:17:154:28 | source(...) : String | B.java:173:18:173:30 | String s2 : String | provenance | |
| B.java:154:17:154:28 | source(...) : String | B.java:174:18:174:30 | String s2 : String | provenance | |
| B.java:154:17:154:28 | source(...) : String | B.java:175:5:175:6 | String s2 : String | provenance | |
| B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | B.java:159:18:159:19 | this : MyLocal [String s1] : String | provenance | |
| B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | B.java:160:14:160:15 | this : MyLocal [String s2] : String | provenance | |
| B.java:159:9:159:12 | this [post update] : MyLocal [f] : String | B.java:158:7:158:13 | parameter this [Return] : MyLocal [f] : String | provenance | |
| B.java:159:18:159:19 | s1 : String | B.java:159:9:159:12 | this [post update] : MyLocal [f] : String | provenance | |
| B.java:159:18:159:19 | this : MyLocal [String s1] : String | B.java:159:18:159:19 | s1 : String | provenance | |
| B.java:160:14:160:15 | this : MyLocal [String s2] : String | B.java:160:14:160:15 | s2 | provenance | |
| B.java:162:12:162:15 | parameter this : MyLocal [String s2] : String | B.java:164:14:164:15 | this : MyLocal [String s2] : String | provenance | |
| B.java:162:12:162:15 | parameter this : MyLocal [f] : String | B.java:163:14:163:14 | this <.field> : MyLocal [f] : String | provenance | |
| B.java:163:14:163:14 | this <.field> : MyLocal [f] : String | B.java:163:14:163:14 | f | provenance | |
| B.java:164:14:164:15 | this : MyLocal [String s2] : String | B.java:164:14:164:15 | s2 | provenance | |
| B.java:166:16:166:23 | s : String | B.java:167:15:167:15 | s : String | provenance | |
| B.java:167:9:167:9 | l [post update] : ArrayList [<element>] : String | B.java:167:9:167:9 | this : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:167:9:167:9 | this : MyLocal [List<String> l, <element>] : String | B.java:166:12:166:14 | parameter this [Return] : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:167:15:167:15 | s : String | B.java:167:9:167:9 | l [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:169:14:169:16 | parameter this : MyLocal [List<String> l, <element>] : String | B.java:170:16:170:16 | this : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:170:16:170:16 | l : ArrayList [<element>] : String | B.java:170:16:170:23 | get(...) : String | provenance | MaD:3 |
| B.java:170:16:170:16 | this : MyLocal [List<String> l, <element>] : String | B.java:170:16:170:16 | l : ArrayList [<element>] : String | provenance | |
| B.java:173:18:173:30 | String s1 : String | B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | provenance | |
| B.java:173:18:173:30 | String s2 : String | B.java:173:18:173:30 | new MyLocal(...) : MyLocal [String s2] : String | provenance | |
| B.java:173:18:173:30 | String s2 : String | B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | provenance | |
| B.java:173:18:173:30 | String s2 : String | B.java:174:18:174:30 | String s2 : String | provenance | |
| B.java:173:18:173:30 | String s2 : String | B.java:175:5:175:6 | String s2 : String | provenance | |
| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [String s2] : String | B.java:173:18:173:30 | String s2 : String | provenance | |
| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String | B.java:175:5:175:6 | m1 : MyLocal [f] : String | provenance | |
| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | provenance | |
| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String | provenance | |
| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | provenance | |
| B.java:174:18:174:30 | String s2 : String | B.java:174:18:174:30 | new MyLocal(...) : MyLocal [String s2] : String | provenance | |
| B.java:174:18:174:30 | String s2 : String | B.java:174:18:174:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | provenance | |
| B.java:174:18:174:30 | String s2 : String | B.java:175:5:175:6 | String s2 : String | provenance | |
| B.java:174:18:174:30 | new MyLocal(...) : MyLocal [String s2] : String | B.java:174:18:174:30 | String s2 : String | provenance | |
| B.java:174:18:174:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | provenance | |
| B.java:175:5:175:6 | String s2 : String | B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | provenance | |
| B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | B.java:162:12:162:15 | parameter this : MyLocal [String s2] : String | provenance | |
| B.java:175:5:175:6 | m1 : MyLocal [f] : String | B.java:162:12:162:15 | parameter this : MyLocal [f] : String | provenance | |
| B.java:177:5:177:6 | List<String> l : ArrayList [<element>] : String | B.java:178:10:178:11 | List<String> l : ArrayList [<element>] : String | provenance | |
| B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String | B.java:177:5:177:6 | List<String> l : ArrayList [<element>] : String | provenance | |
| B.java:177:12:177:27 | source(...) : String | B.java:166:16:166:23 | s : String | provenance | |
| B.java:177:12:177:27 | source(...) : String | B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String | provenance | MaD:2 |
| B.java:178:10:178:11 | List<String> l : ArrayList [<element>] : String | B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | B.java:169:14:169:16 | parameter this : MyLocal [List<String> l, <element>] : String | provenance | |
| B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | B.java:178:10:178:17 | get(...) | provenance | MaD:3 |
| B.java:203:16:203:42 | source(...) : String | B.java:212:5:212:6 | String s : String | provenance | |
| B.java:205:19:208:5 | parameter this : new Runnable(...) { ... } [String s] : String | B.java:206:12:206:12 | this : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:205:19:208:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:206:12:206:12 | this : new Runnable(...) { ... } [String s] : String | B.java:206:12:206:12 | s | provenance | |
| B.java:207:7:207:9 | out [post update] : ArrayList [<element>] : String | B.java:207:7:207:9 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:207:7:207:9 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:205:19:208:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:207:15:207:42 | source(...) : String | B.java:207:7:207:9 | out [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:210:7:210:8 | List<String> out : ArrayList [<element>] : String | B.java:210:7:210:8 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:210:7:210:8 | String s : String | B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | B.java:205:19:208:5 | parameter this : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:210:7:210:8 | List<String> out : ArrayList [<element>] : String | provenance | |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | provenance | |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | B.java:210:7:210:8 | String s : String | provenance | |
| B.java:212:5:212:6 | List<String> out : ArrayList [<element>] : String | B.java:213:10:213:12 | out : ArrayList [<element>] : String | provenance | |
| B.java:212:5:212:6 | String s : String | B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | provenance | |
| B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | B.java:212:5:212:6 | List<String> out : ArrayList [<element>] : String | provenance | |
| B.java:213:10:213:12 | out : ArrayList [<element>] : String | B.java:213:10:213:19 | get(...) | provenance | MaD:3 |
| B.java:231:16:231:28 | source(...) : String | B.java:247:5:247:18 | String s : String | provenance | |
| B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | B.java:238:15:238:15 | this : MyLocal2 [String s] : String | provenance | |
| B.java:238:9:238:9 | l [post update] : ArrayList [<element>] : String | B.java:238:9:238:9 | this : MyLocal2 [List<String> l, <element>] : String | provenance | |
| B.java:238:9:238:9 | this : MyLocal2 [List<String> l, <element>] : String | B.java:235:7:235:14 | parameter this [Return] : MyLocal2 [List<String> l, <element>] : String | provenance | |
| B.java:238:15:238:15 | s : String | B.java:238:9:238:9 | l [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:238:15:238:15 | this : MyLocal2 [String s] : String | B.java:238:15:238:15 | s : String | provenance | |
| B.java:240:12:240:14 | parameter this : MyLocal2 [List<String> l, <element>] : String | B.java:241:16:241:16 | this : MyLocal2 [List<String> l, <element>] : String | provenance | |
| B.java:241:9:241:10 | l2 [post update] : ArrayList [<element>] : String | B.java:241:9:241:10 | this : MyLocal2 [List<String> l2, <element>] : String | provenance | |
| B.java:241:9:241:10 | this : MyLocal2 [List<String> l2, <element>] : String | B.java:240:12:240:14 | parameter this [Return] : MyLocal2 [List<String> l2, <element>] : String | provenance | |
| B.java:241:16:241:16 | l : ArrayList [<element>] : String | B.java:241:16:241:23 | get(...) : String | provenance | MaD:3 |
| B.java:241:16:241:16 | this : MyLocal2 [List<String> l, <element>] : String | B.java:241:16:241:16 | l : ArrayList [<element>] : String | provenance | |
| B.java:241:16:241:23 | get(...) : String | B.java:241:9:241:10 | l2 [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| B.java:247:5:247:18 | List<String> l2 : ArrayList [<element>] : String | B.java:249:10:249:11 | l2 : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | List<String> l : ArrayList [<element>] : String | B.java:248:10:248:10 | l : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | String s : String | B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:240:12:240:14 | parameter this : MyLocal2 [List<String> l, <element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:247:5:247:18 | List<String> l : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String | provenance | MaD:3 |
| B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String | B.java:247:5:247:18 | List<String> l2 : ArrayList [<element>] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | provenance | |
| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | provenance | MaD:2 |
| B.java:248:10:248:10 | l : ArrayList [<element>] : String | B.java:248:10:248:17 | get(...) | provenance | MaD:3 |
| B.java:249:10:249:11 | l2 : ArrayList [<element>] : String | B.java:249:10:249:18 | get(...) | provenance | MaD:3 |
nodes
| B.java:11:5:11:6 | l1 [post update] : ArrayList [<element>] : String | semmle.label | l1 [post update] : ArrayList [<element>] : String |
| B.java:11:12:11:22 | source(...) : String | semmle.label | source(...) : String |
| B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | semmle.label | l1 : ArrayList [<element>] : String |
| B.java:13:16:13:16 | e : String | semmle.label | e : String |
| B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | semmle.label | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String |
| B.java:13:16:13:29 | List<String> l2 : ArrayList [<element>] : String | semmle.label | List<String> l2 : ArrayList [<element>] : String |
| B.java:13:16:13:29 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | semmle.label | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String |
| B.java:13:21:13:22 | l2 [post update] : ArrayList [<element>] : String | semmle.label | l2 [post update] : ArrayList [<element>] : String |
| B.java:13:21:13:22 | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | semmle.label | this : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String |
| B.java:13:28:13:28 | e : String | semmle.label | e : String |
| B.java:14:10:14:11 | l2 : ArrayList [<element>] : String | semmle.label | l2 : ArrayList [<element>] : String |
| B.java:14:10:14:18 | get(...) | semmle.label | get(...) |
| B.java:22:26:22:26 | x : String | semmle.label | x : String |
| B.java:22:26:22:71 | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String | semmle.label | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String |
| B.java:22:56:22:60 | other [post update] : B [bf1] : String | semmle.label | other [post update] : B [bf1] : String |
| B.java:22:56:22:60 | this : new Consumer<String>(...) { ... } [B other, bf1] : String | semmle.label | this : new Consumer<String>(...) { ... } [B other, bf1] : String |
| B.java:22:68:22:68 | x : String | semmle.label | x : String |
| B.java:30:5:30:5 | B other : B [bf1] : String | semmle.label | B other : B [bf1] : String |
| B.java:30:5:30:5 | f [post update] : new Consumer<String>(...) { ... } [B other, bf1] : String | semmle.label | f [post update] : new Consumer<String>(...) { ... } [B other, bf1] : String |
| B.java:30:14:30:24 | source(...) : String | semmle.label | source(...) : String |
| B.java:34:10:34:14 | other : B [bf1] : String | semmle.label | other : B [bf1] : String |
| B.java:34:10:34:18 | other.bf1 | semmle.label | other.bf1 |
| B.java:38:23:38:45 | inp : HashMap [<map.key>] : String | semmle.label | inp : HashMap [<map.key>] : String |
| B.java:38:23:38:45 | inp : HashMap [<map.value>] : String | semmle.label | inp : HashMap [<map.value>] : String |
| B.java:38:48:38:70 | out [Return] : HashMap [<map.key>] : String | semmle.label | out [Return] : HashMap [<map.key>] : String |
| B.java:38:48:38:70 | out [Return] : HashMap [<map.value>] : String | semmle.label | out [Return] : HashMap [<map.value>] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | semmle.label | inp : HashMap [<map.key>] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | semmle.label | inp : HashMap [<map.value>] : String |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | semmle.label | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String |
| B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | semmle.label | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String |
| B.java:39:17:39:56 | out : HashMap [<map.key>] : String | semmle.label | out : HashMap [<map.key>] : String |
| B.java:39:17:39:56 | out : HashMap [<map.value>] : String | semmle.label | out : HashMap [<map.value>] : String |
| B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | semmle.label | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String |
| B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | semmle.label | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String |
| B.java:39:18:39:20 | key : String | semmle.label | key : String |
| B.java:39:23:39:27 | value : String | semmle.label | value : String |
| B.java:39:35:39:37 | out [post update] : HashMap [<map.key>] : String | semmle.label | out [post update] : HashMap [<map.key>] : String |
| B.java:39:35:39:37 | out [post update] : HashMap [<map.value>] : String | semmle.label | out [post update] : HashMap [<map.value>] : String |
| B.java:39:35:39:37 | this : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | semmle.label | this : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String |
| B.java:39:35:39:37 | this : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | semmle.label | this : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String |
| B.java:39:43:39:45 | key : String | semmle.label | key : String |
| B.java:39:48:39:52 | value : String | semmle.label | value : String |
| B.java:45:5:45:6 | m1 [post update] : HashMap [<map.key>] : String | semmle.label | m1 [post update] : HashMap [<map.key>] : String |
| B.java:45:5:45:6 | m1 [post update] : HashMap [<map.value>] : String | semmle.label | m1 [post update] : HashMap [<map.value>] : String |
| B.java:45:12:45:24 | source(...) : String | semmle.label | source(...) : String |
| B.java:45:27:45:41 | source(...) : String | semmle.label | source(...) : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.key>] : String | semmle.label | m1 : HashMap [<map.key>] : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.value>] : String | semmle.label | m1 : HashMap [<map.value>] : String |
| B.java:46:17:46:18 | m2 [post update] : HashMap [<map.key>] : String | semmle.label | m2 [post update] : HashMap [<map.key>] : String |
| B.java:46:17:46:18 | m2 [post update] : HashMap [<map.value>] : String | semmle.label | m2 [post update] : HashMap [<map.value>] : String |
| B.java:47:5:47:6 | m2 : HashMap [<map.key>] : String | semmle.label | m2 : HashMap [<map.key>] : String |
| B.java:47:5:47:6 | m2 : HashMap [<map.value>] : String | semmle.label | m2 : HashMap [<map.value>] : String |
| B.java:47:17:47:17 | k : String | semmle.label | k : String |
| B.java:47:20:47:20 | v : String | semmle.label | v : String |
| B.java:48:12:48:12 | k | semmle.label | k |
| B.java:49:12:49:12 | v | semmle.label | v |
| B.java:57:18:57:34 | source(...) : String | semmle.label | source(...) : String |
| B.java:60:21:60:32 | param : String | semmle.label | param : String |
| B.java:61:18:65:5 | parameter this : new Runnable(...) { ... } [param] : String | semmle.label | parameter this : new Runnable(...) { ... } [param] : String |
| B.java:64:12:64:16 | param | semmle.label | param |
| B.java:64:12:64:16 | this : new Runnable(...) { ... } [param] : String | semmle.label | this : new Runnable(...) { ... } [param] : String |
| B.java:66:5:66:5 | param : String | semmle.label | param : String |
| B.java:66:5:66:5 | r : new Runnable(...) { ... } [param] : String | semmle.label | r : new Runnable(...) { ... } [param] : String |
| B.java:71:19:71:23 | other [post update] : B [elem] : String | semmle.label | other [post update] : B [elem] : String |
| B.java:74:10:74:14 | other : B [elem] : String | semmle.label | other : B [elem] : String |
| B.java:74:10:74:19 | other.elem | semmle.label | other.elem |
| B.java:77:22:77:28 | param [Return] : B [elem] : String | semmle.label | param [Return] : B [elem] : String |
| B.java:78:18:81:5 | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [param, elem] : String |
| B.java:80:7:80:11 | param [post update] : B [elem] : String | semmle.label | param [post update] : B [elem] : String |
| B.java:80:7:80:11 | this : new Runnable(...) { ... } [param, elem] : String | semmle.label | this : new Runnable(...) { ... } [param, elem] : String |
| B.java:80:20:80:39 | source(...) : String | semmle.label | source(...) : String |
| B.java:82:5:82:5 | param : B [elem] : String | semmle.label | param : B [elem] : String |
| B.java:82:5:82:5 | r [post update] : new Runnable(...) { ... } [param, elem] : String | semmle.label | r [post update] : new Runnable(...) { ... } [param, elem] : String |
| B.java:88:22:88:44 | parameter this : new Runnable(...) { ... } [B b, elem] : String | semmle.label | parameter this : new Runnable(...) { ... } [B b, elem] : String |
| B.java:88:35:88:35 | b : B [elem] : String | semmle.label | b : B [elem] : String |
| B.java:88:35:88:35 | this : new Runnable(...) { ... } [B b, elem] : String | semmle.label | this : new Runnable(...) { ... } [B b, elem] : String |
| B.java:88:35:88:40 | b.elem | semmle.label | b.elem |
| B.java:89:20:89:52 | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [B b, elem] : String |
| B.java:89:28:89:28 | b [post update] : B [elem] : String | semmle.label | b [post update] : B [elem] : String |
| B.java:89:28:89:28 | this : new Runnable(...) { ... } [B b, elem] : String | semmle.label | this : new Runnable(...) { ... } [B b, elem] : String |
| B.java:89:37:89:49 | source(...) : String | semmle.label | source(...) : String |
| B.java:91:11:91:13 | B b : B [elem] : String | semmle.label | B b : B [elem] : String |
| B.java:91:11:91:13 | src [post update] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | src [post update] : new Runnable(...) { ... } [B b, elem] : String |
| B.java:92:11:92:15 | B b : B [elem] : String | semmle.label | B b : B [elem] : String |
| B.java:92:11:92:15 | sink2 : new Runnable(...) { ... } [B b, elem] : String | semmle.label | sink2 : new Runnable(...) { ... } [B b, elem] : String |
| B.java:95:14:95:23 | r : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r : new Runnable(...) { ... } [B b, elem] : String |
| B.java:95:14:95:23 | r [Return] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r [Return] : new Runnable(...) { ... } [B b, elem] : String |
| B.java:96:5:96:5 | r : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r : new Runnable(...) { ... } [B b, elem] : String |
| B.java:96:5:96:5 | r [post update] : new Runnable(...) { ... } [B b, elem] : String | semmle.label | r [post update] : new Runnable(...) { ... } [B b, elem] : String |
| B.java:102:5:102:6 | l1 [post update] : ArrayList [<element>] : String | semmle.label | l1 [post update] : ArrayList [<element>] : String |
| B.java:102:12:102:29 | source(...) : String | semmle.label | source(...) : String |
| B.java:103:5:103:6 | l2 [post update] : ArrayList [<element>, <element>] : String | semmle.label | l2 [post update] : ArrayList [<element>, <element>] : String |
| B.java:103:12:103:13 | l1 : ArrayList [<element>] : String | semmle.label | l1 : ArrayList [<element>] : String |
| B.java:104:16:104:32 | source(...) : String | semmle.label | source(...) : String |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | semmle.label | l2 : ArrayList [<element>, <element>] : String |
| B.java:107:16:107:16 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | semmle.label | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | semmle.label | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | semmle.label | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:16:111:6 | List<String> out1 : ArrayList [<element>] : String | semmle.label | List<String> out1 : ArrayList [<element>] : String |
| B.java:107:16:111:6 | List<String> out2 : ArrayList [<element>] : String | semmle.label | List<String> out2 : ArrayList [<element>] : String |
| B.java:107:16:111:6 | String s : String | semmle.label | String s : String |
| B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String |
| B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | semmle.label | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | semmle.label | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | semmle.label | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:107:31:107:31 | x : String | semmle.label | x : String |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | semmle.label | ...->... : new Consumer<String>(...) { ... } [String s] : String |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | semmle.label | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | semmle.label | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | semmle.label | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:31:111:5 | List<String> out1 : ArrayList [<element>] : String | semmle.label | List<String> out1 : ArrayList [<element>] : String |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | semmle.label | List<String> out2 : ArrayList [<element>] : String |
| B.java:107:31:111:5 | List<String> out2 : ArrayList [<element>] : String | semmle.label | List<String> out2 : ArrayList [<element>] : String |
| B.java:107:31:111:5 | String s : String | semmle.label | String s : String |
| B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | semmle.label | parameter this : new Consumer<String>(...) { ... } [String s] : String |
| B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | semmle.label | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | semmle.label | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | semmle.label | this : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | semmle.label | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | semmle.label | this : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [String s] : String | semmle.label | this : new Consumer<List<String>>(...) { ... } [String s] : String |
| B.java:108:12:108:12 | s | semmle.label | s |
| B.java:108:12:108:12 | this : new Consumer<String>(...) { ... } [String s] : String | semmle.label | this : new Consumer<String>(...) { ... } [String s] : String |
| B.java:109:7:109:10 | out1 [post update] : ArrayList [<element>] : String | semmle.label | out1 [post update] : ArrayList [<element>] : String |
| B.java:109:7:109:10 | this : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | semmle.label | this : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
| B.java:109:16:109:16 | x : String | semmle.label | x : String |
| B.java:110:7:110:10 | out2 [post update] : ArrayList [<element>] : String | semmle.label | out2 [post update] : ArrayList [<element>] : String |
| B.java:110:7:110:10 | this : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | semmle.label | this : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:110:16:110:16 | s : String | semmle.label | s : String |
| B.java:110:16:110:16 | this : new Consumer<String>(...) { ... } [String s] : String | semmle.label | this : new Consumer<String>(...) { ... } [String s] : String |
| B.java:112:10:112:13 | out1 : ArrayList [<element>] : String | semmle.label | out1 : ArrayList [<element>] : String |
| B.java:112:10:112:20 | get(...) | semmle.label | get(...) |
| B.java:113:10:113:13 | out2 : ArrayList [<element>] : String | semmle.label | out2 : ArrayList [<element>] : String |
| B.java:113:10:113:20 | get(...) | semmle.label | get(...) |
| B.java:126:19:126:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:127:9:127:10 | l1 [post update] : ArrayList [<element>] : String | semmle.label | l1 [post update] : ArrayList [<element>] : String |
| B.java:127:9:127:10 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:127:16:127:29 | source(...) : String | semmle.label | source(...) : String |
| B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | parameter this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | semmle.label | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String |
| B.java:131:9:131:10 | l2 [post update] : ArrayList [<element>] : String | semmle.label | l2 [post update] : ArrayList [<element>] : String |
| B.java:131:9:131:10 | this : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | semmle.label | this : new TwoRuns(...) { ... } [List<String> l2, <element>] : String |
| B.java:131:16:131:17 | l1 : ArrayList [<element>] : String | semmle.label | l1 : ArrayList [<element>] : String |
| B.java:131:16:131:17 | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:131:16:131:24 | get(...) : String | semmle.label | get(...) : String |
| B.java:136:5:136:5 | List<String> l1 : ArrayList [<element>] : String | semmle.label | List<String> l1 : ArrayList [<element>] : String |
| B.java:136:5:136:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | r [post update] : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:137:5:137:5 | List<String> l1 : ArrayList [<element>] : String | semmle.label | List<String> l1 : ArrayList [<element>] : String |
| B.java:137:5:137:5 | List<String> l2 : ArrayList [<element>] : String | semmle.label | List<String> l2 : ArrayList [<element>] : String |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | semmle.label | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String |
| B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | semmle.label | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String |
| B.java:138:10:138:11 | l2 : ArrayList [<element>] : String | semmle.label | l2 : ArrayList [<element>] : String |
| B.java:138:10:138:18 | get(...) | semmle.label | get(...) |
| B.java:142:16:142:31 | source(...) : String | semmle.label | source(...) : String |
| B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | semmle.label | parameter this : MyLocal [String s] : String |
| B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | semmle.label | parameter this [Return] : MyLocal [f] : String |
| B.java:145:19:145:22 | this [post update] : MyLocal [f] : String | semmle.label | this [post update] : MyLocal [f] : String |
| B.java:145:28:145:28 | s : String | semmle.label | s : String |
| B.java:145:28:145:28 | this : MyLocal [String s] : String | semmle.label | this : MyLocal [String s] : String |
| B.java:146:14:146:17 | parameter this : MyLocal [f] : String | semmle.label | parameter this : MyLocal [f] : String |
| B.java:146:30:146:33 | this : MyLocal [f] : String | semmle.label | this : MyLocal [f] : String |
| B.java:146:30:146:35 | this.f : String | semmle.label | this.f : String |
| B.java:148:17:148:29 | String s : String | semmle.label | String s : String |
| B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String | semmle.label | new MyLocal(...) : MyLocal [f] : String |
| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s] : String |
| B.java:149:10:149:10 | m : MyLocal [f] : String | semmle.label | m : MyLocal [f] : String |
| B.java:149:10:149:17 | getF(...) | semmle.label | getF(...) |
| B.java:153:17:153:28 | source(...) : String | semmle.label | source(...) : String |
| B.java:154:17:154:28 | source(...) : String | semmle.label | source(...) : String |
| B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | semmle.label | parameter this : MyLocal [String s1] : String |
| B.java:158:7:158:13 | parameter this : MyLocal [String s2] : String | semmle.label | parameter this : MyLocal [String s2] : String |
| B.java:158:7:158:13 | parameter this [Return] : MyLocal [f] : String | semmle.label | parameter this [Return] : MyLocal [f] : String |
| B.java:159:9:159:12 | this [post update] : MyLocal [f] : String | semmle.label | this [post update] : MyLocal [f] : String |
| B.java:159:18:159:19 | s1 : String | semmle.label | s1 : String |
| B.java:159:18:159:19 | this : MyLocal [String s1] : String | semmle.label | this : MyLocal [String s1] : String |
| B.java:160:14:160:15 | s2 | semmle.label | s2 |
| B.java:160:14:160:15 | this : MyLocal [String s2] : String | semmle.label | this : MyLocal [String s2] : String |
| B.java:162:12:162:15 | parameter this : MyLocal [String s2] : String | semmle.label | parameter this : MyLocal [String s2] : String |
| B.java:162:12:162:15 | parameter this : MyLocal [f] : String | semmle.label | parameter this : MyLocal [f] : String |
| B.java:163:14:163:14 | f | semmle.label | f |
| B.java:163:14:163:14 | this <.field> : MyLocal [f] : String | semmle.label | this <.field> : MyLocal [f] : String |
| B.java:164:14:164:15 | s2 | semmle.label | s2 |
| B.java:164:14:164:15 | this : MyLocal [String s2] : String | semmle.label | this : MyLocal [String s2] : String |
| B.java:166:12:166:14 | parameter this [Return] : MyLocal [List<String> l, <element>] : String | semmle.label | parameter this [Return] : MyLocal [List<String> l, <element>] : String |
| B.java:166:16:166:23 | s : String | semmle.label | s : String |
| B.java:167:9:167:9 | l [post update] : ArrayList [<element>] : String | semmle.label | l [post update] : ArrayList [<element>] : String |
| B.java:167:9:167:9 | this : MyLocal [List<String> l, <element>] : String | semmle.label | this : MyLocal [List<String> l, <element>] : String |
| B.java:167:15:167:15 | s : String | semmle.label | s : String |
| B.java:169:14:169:16 | parameter this : MyLocal [List<String> l, <element>] : String | semmle.label | parameter this : MyLocal [List<String> l, <element>] : String |
| B.java:170:16:170:16 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:170:16:170:16 | this : MyLocal [List<String> l, <element>] : String | semmle.label | this : MyLocal [List<String> l, <element>] : String |
| B.java:170:16:170:23 | get(...) : String | semmle.label | get(...) : String |
| B.java:173:18:173:30 | String s1 : String | semmle.label | String s1 : String |
| B.java:173:18:173:30 | String s2 : String | semmle.label | String s2 : String |
| B.java:173:18:173:30 | String s2 : String | semmle.label | String s2 : String |
| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [String s2] : String | semmle.label | new MyLocal(...) : MyLocal [String s2] : String |
| B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String | semmle.label | new MyLocal(...) : MyLocal [f] : String |
| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String |
| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String |
| B.java:174:18:174:30 | String s2 : String | semmle.label | String s2 : String |
| B.java:174:18:174:30 | String s2 : String | semmle.label | String s2 : String |
| B.java:174:18:174:30 | new MyLocal(...) : MyLocal [String s2] : String | semmle.label | new MyLocal(...) : MyLocal [String s2] : String |
| B.java:174:18:174:30 | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String | semmle.label | new MyLocal(...) [pre constructor] : MyLocal [String s2] : String |
| B.java:175:5:175:6 | String s2 : String | semmle.label | String s2 : String |
| B.java:175:5:175:6 | m1 : MyLocal [String s2] : String | semmle.label | m1 : MyLocal [String s2] : String |
| B.java:175:5:175:6 | m1 : MyLocal [f] : String | semmle.label | m1 : MyLocal [f] : String |
| B.java:177:5:177:6 | List<String> l : ArrayList [<element>] : String | semmle.label | List<String> l : ArrayList [<element>] : String |
| B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String | semmle.label | m1 [post update] : MyLocal [List<String> l, <element>] : String |
| B.java:177:12:177:27 | source(...) : String | semmle.label | source(...) : String |
| B.java:178:10:178:11 | List<String> l : ArrayList [<element>] : String | semmle.label | List<String> l : ArrayList [<element>] : String |
| B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | semmle.label | m2 : MyLocal [List<String> l, <element>] : String |
| B.java:178:10:178:17 | get(...) | semmle.label | get(...) |
| B.java:203:16:203:42 | source(...) : String | semmle.label | source(...) : String |
| B.java:205:19:208:5 | parameter this : new Runnable(...) { ... } [String s] : String | semmle.label | parameter this : new Runnable(...) { ... } [String s] : String |
| B.java:205:19:208:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:206:12:206:12 | s | semmle.label | s |
| B.java:206:12:206:12 | this : new Runnable(...) { ... } [String s] : String | semmle.label | this : new Runnable(...) { ... } [String s] : String |
| B.java:207:7:207:9 | out [post update] : ArrayList [<element>] : String | semmle.label | out [post update] : ArrayList [<element>] : String |
| B.java:207:7:207:9 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | this : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:207:15:207:42 | source(...) : String | semmle.label | source(...) : String |
| B.java:209:19:211:5 | parameter this : new Runnable(...) { ... } [String s] : String | semmle.label | parameter this : new Runnable(...) { ... } [String s] : String |
| B.java:209:19:211:5 | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | parameter this [Return] : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:210:7:210:8 | List<String> out : ArrayList [<element>] : String | semmle.label | List<String> out : ArrayList [<element>] : String |
| B.java:210:7:210:8 | String s : String | semmle.label | String s : String |
| B.java:210:7:210:8 | r1 : new Runnable(...) { ... } [String s] : String | semmle.label | r1 : new Runnable(...) { ... } [String s] : String |
| B.java:210:7:210:8 | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | r1 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | this : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:210:7:210:8 | this : new Runnable(...) { ... } [String s] : String | semmle.label | this : new Runnable(...) { ... } [String s] : String |
| B.java:212:5:212:6 | List<String> out : ArrayList [<element>] : String | semmle.label | List<String> out : ArrayList [<element>] : String |
| B.java:212:5:212:6 | String s : String | semmle.label | String s : String |
| B.java:212:5:212:6 | r2 : new Runnable(...) { ... } [String s] : String | semmle.label | r2 : new Runnable(...) { ... } [String s] : String |
| B.java:212:5:212:6 | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String | semmle.label | r2 [post update] : new Runnable(...) { ... } [List<String> out, <element>] : String |
| B.java:213:10:213:12 | out : ArrayList [<element>] : String | semmle.label | out : ArrayList [<element>] : String |
| B.java:213:10:213:19 | get(...) | semmle.label | get(...) |
| B.java:231:16:231:28 | source(...) : String | semmle.label | source(...) : String |
| B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | semmle.label | parameter this : MyLocal2 [String s] : String |
| B.java:235:7:235:14 | parameter this [Return] : MyLocal2 [List<String> l, <element>] : String | semmle.label | parameter this [Return] : MyLocal2 [List<String> l, <element>] : String |
| B.java:238:9:238:9 | l [post update] : ArrayList [<element>] : String | semmle.label | l [post update] : ArrayList [<element>] : String |
| B.java:238:9:238:9 | this : MyLocal2 [List<String> l, <element>] : String | semmle.label | this : MyLocal2 [List<String> l, <element>] : String |
| B.java:238:15:238:15 | s : String | semmle.label | s : String |
| B.java:238:15:238:15 | this : MyLocal2 [String s] : String | semmle.label | this : MyLocal2 [String s] : String |
| B.java:240:12:240:14 | parameter this : MyLocal2 [List<String> l, <element>] : String | semmle.label | parameter this : MyLocal2 [List<String> l, <element>] : String |
| B.java:240:12:240:14 | parameter this [Return] : MyLocal2 [List<String> l2, <element>] : String | semmle.label | parameter this [Return] : MyLocal2 [List<String> l2, <element>] : String |
| B.java:241:9:241:10 | l2 [post update] : ArrayList [<element>] : String | semmle.label | l2 [post update] : ArrayList [<element>] : String |
| B.java:241:9:241:10 | this : MyLocal2 [List<String> l2, <element>] : String | semmle.label | this : MyLocal2 [List<String> l2, <element>] : String |
| B.java:241:16:241:16 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:241:16:241:16 | this : MyLocal2 [List<String> l, <element>] : String | semmle.label | this : MyLocal2 [List<String> l, <element>] : String |
| B.java:241:16:241:23 | get(...) : String | semmle.label | get(...) : String |
| B.java:247:5:247:18 | List<String> l2 : ArrayList [<element>] : String | semmle.label | List<String> l2 : ArrayList [<element>] : String |
| B.java:247:5:247:18 | List<String> l : ArrayList [<element>] : String | semmle.label | List<String> l : ArrayList [<element>] : String |
| B.java:247:5:247:18 | String s : String | semmle.label | String s : String |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | semmle.label | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String |
| B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String | semmle.label | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String |
| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | semmle.label | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String |
| B.java:248:10:248:10 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| B.java:248:10:248:17 | get(...) | semmle.label | get(...) |
| B.java:249:10:249:11 | l2 : ArrayList [<element>] : String | semmle.label | l2 : ArrayList [<element>] : String |
| B.java:249:10:249:18 | get(...) | semmle.label | get(...) |
subpaths
| B.java:13:5:13:6 | l1 : ArrayList [<element>] : String | B.java:13:16:13:16 | e : String | B.java:13:16:13:29 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String | B.java:13:16:13:29 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> l2, <element>] : String |
| B.java:30:14:30:24 | source(...) : String | B.java:22:26:22:26 | x : String | B.java:22:26:22:71 | parameter this [Return] : new Consumer<String>(...) { ... } [B other, bf1] : String | B.java:30:5:30:5 | f [post update] : new Consumer<String>(...) { ... } [B other, bf1] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.key>] : String | B.java:39:18:39:20 | key : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.key>] : String |
| B.java:39:5:39:7 | inp : HashMap [<map.value>] : String | B.java:39:23:39:27 | value : String | B.java:39:17:39:56 | parameter this [Return] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String | B.java:39:17:39:56 | ...->... [post update] : new BiConsumer<String,String>(...) { ... } [out, <map.value>] : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.key>] : String | B.java:38:23:38:45 | inp : HashMap [<map.key>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.key>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.key>] : String |
| B.java:46:13:46:14 | m1 : HashMap [<map.value>] : String | B.java:38:23:38:45 | inp : HashMap [<map.value>] : String | B.java:38:48:38:70 | out [Return] : HashMap [<map.value>] : String | B.java:46:17:46:18 | m2 [post update] : HashMap [<map.value>] : String |
| B.java:107:5:107:6 | l2 : ArrayList [<element>, <element>] : String | B.java:107:16:107:16 | l : ArrayList [<element>] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:16:111:6 | ...->... : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this : new Consumer<List<String>>(...) { ... } [String s] : String | B.java:107:16:111:6 | parameter this [Return] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String | B.java:107:16:111:6 | ...->... [post update] : new Consumer<List<String>>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:21:107:21 | l : ArrayList [<element>] : String | B.java:107:31:107:31 | x : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out1, <element>] : String |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:107:31:111:5 | ...->... : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this : new Consumer<String>(...) { ... } [String s] : String | B.java:107:31:111:5 | parameter this [Return] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String | B.java:107:31:111:5 | ...->... [post update] : new Consumer<String>(...) { ... } [List<String> out2, <element>] : String |
| B.java:137:5:137:5 | r : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:130:19:130:22 | parameter this : new TwoRuns(...) { ... } [List<String> l1, <element>] : String | B.java:130:19:130:22 | parameter this [Return] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String | B.java:137:5:137:5 | r [post update] : new TwoRuns(...) { ... } [List<String> l2, <element>] : String |
| B.java:148:17:148:29 | new MyLocal(...) [pre constructor] : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this : MyLocal [String s] : String | B.java:145:7:145:13 | parameter this [Return] : MyLocal [f] : String | B.java:148:17:148:29 | new MyLocal(...) : MyLocal [f] : String |
| B.java:149:10:149:10 | m : MyLocal [f] : String | B.java:146:14:146:17 | parameter this : MyLocal [f] : String | B.java:146:30:146:35 | this.f : String | B.java:149:10:149:17 | getF(...) |
| B.java:173:18:173:30 | new MyLocal(...) [pre constructor] : MyLocal [String s1] : String | B.java:158:7:158:13 | parameter this : MyLocal [String s1] : String | B.java:158:7:158:13 | parameter this [Return] : MyLocal [f] : String | B.java:173:18:173:30 | new MyLocal(...) : MyLocal [f] : String |
| B.java:177:12:177:27 | source(...) : String | B.java:166:16:166:23 | s : String | B.java:166:12:166:14 | parameter this [Return] : MyLocal [List<String> l, <element>] : String | B.java:177:5:177:6 | m1 [post update] : MyLocal [List<String> l, <element>] : String |
| B.java:178:10:178:11 | m2 : MyLocal [List<String> l, <element>] : String | B.java:169:14:169:16 | parameter this : MyLocal [List<String> l, <element>] : String | B.java:170:16:170:23 | get(...) : String | B.java:178:10:178:17 | get(...) |
| B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String | B.java:240:12:240:14 | parameter this : MyLocal2 [List<String> l, <element>] : String | B.java:240:12:240:14 | parameter this [Return] : MyLocal2 [List<String> l2, <element>] : String | B.java:247:5:247:18 | new MyLocal2(...) [post update] : MyLocal2 [List<String> l2, <element>] : String |
| B.java:247:5:247:18 | new MyLocal2(...) [pre constructor] : MyLocal2 [String s] : String | B.java:235:7:235:14 | parameter this : MyLocal2 [String s] : String | B.java:235:7:235:14 | parameter this [Return] : MyLocal2 [List<String> l, <element>] : String | B.java:247:5:247:18 | new MyLocal2(...) : MyLocal2 [List<String> l, <element>] : String |
testFailures

View File

@@ -1,2 +1,3 @@
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -2,3 +2,4 @@ import java
import semmle.code.java.dataflow.DataFlow
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,72 @@
models
edges
| Test.java:23:25:23:32 | x : String | Test.java:24:18:24:18 | x : String | provenance | |
| Test.java:24:5:24:8 | this [post update] : Test [field] : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | provenance | |
| Test.java:24:18:24:18 | x : String | Test.java:24:5:24:8 | this [post update] : Test [field] : String | provenance | |
| Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | this <.field> : Test [field] : String | provenance | |
| Test.java:33:12:33:16 | this <.field> : Test [field] : String | Test.java:33:12:33:16 | field : String | provenance | |
| Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String | Test.java:45:10:45:10 | t : Test [field] : String | provenance | |
| Test.java:44:30:44:37 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | |
| Test.java:44:30:44:37 | source(...) : String | Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String | provenance | |
| Test.java:45:10:45:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | |
| Test.java:45:10:45:10 | t : Test [field] : String | Test.java:45:10:45:16 | get(...) | provenance | |
| Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String | Test.java:51:10:51:10 | t : Test [field] : String | provenance | |
| Test.java:50:45:50:52 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | |
| Test.java:50:45:50:52 | source(...) : String | Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String | provenance | |
| Test.java:51:10:51:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | |
| Test.java:51:10:51:10 | t : Test [field] : String | Test.java:51:10:51:16 | get(...) | provenance | |
| Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String | Test.java:57:10:57:10 | t : Test [field] : String | provenance | |
| Test.java:56:40:56:47 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | |
| Test.java:56:40:56:47 | source(...) : String | Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String | provenance | |
| Test.java:57:10:57:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | |
| Test.java:57:10:57:10 | t : Test [field] : String | Test.java:57:10:57:16 | get(...) | provenance | |
| Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String | Test.java:63:10:63:10 | t : Test [field] : String | provenance | ValuePreservingMethod |
| Test.java:62:63:62:70 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | |
| Test.java:62:63:62:70 | source(...) : String | Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String | provenance | |
| Test.java:63:10:63:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | |
| Test.java:63:10:63:10 | t : Test [field] : String | Test.java:63:10:63:16 | get(...) | provenance | |
| Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String | Test.java:69:10:69:10 | t : Test [field] : String | provenance | ValuePreservingMethod |
| Test.java:68:86:68:93 | source(...) : String | Test.java:23:25:23:32 | x : String | provenance | |
| Test.java:68:86:68:93 | source(...) : String | Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String | provenance | |
| Test.java:69:10:69:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | provenance | |
| Test.java:69:10:69:10 | t : Test [field] : String | Test.java:69:10:69:16 | get(...) | provenance | |
nodes
| Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | semmle.label | parameter this [Return] : Test [field] : String |
| Test.java:23:25:23:32 | x : String | semmle.label | x : String |
| Test.java:24:5:24:8 | this [post update] : Test [field] : String | semmle.label | this [post update] : Test [field] : String |
| Test.java:24:18:24:18 | x : String | semmle.label | x : String |
| Test.java:32:17:32:19 | parameter this : Test [field] : String | semmle.label | parameter this : Test [field] : String |
| Test.java:33:12:33:16 | field : String | semmle.label | field : String |
| Test.java:33:12:33:16 | this <.field> : Test [field] : String | semmle.label | this <.field> : Test [field] : String |
| Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String | semmle.label | fluentNoop(...) [post update] : Test [field] : String |
| Test.java:44:30:44:37 | source(...) : String | semmle.label | source(...) : String |
| Test.java:45:10:45:10 | t : Test [field] : String | semmle.label | t : Test [field] : String |
| Test.java:45:10:45:16 | get(...) | semmle.label | get(...) |
| Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String | semmle.label | fluentNoop(...) [post update] : Test [field] : String |
| Test.java:50:45:50:52 | source(...) : String | semmle.label | source(...) : String |
| Test.java:51:10:51:10 | t : Test [field] : String | semmle.label | t : Test [field] : String |
| Test.java:51:10:51:16 | get(...) | semmle.label | get(...) |
| Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String | semmle.label | indirectlyFluentNoop(...) [post update] : Test [field] : String |
| Test.java:56:40:56:47 | source(...) : String | semmle.label | source(...) : String |
| Test.java:57:10:57:10 | t : Test [field] : String | semmle.label | t : Test [field] : String |
| Test.java:57:10:57:16 | get(...) | semmle.label | get(...) |
| Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String | semmle.label | modelledFluentMethod(...) [post update] : Test [field] : String |
| Test.java:62:63:62:70 | source(...) : String | semmle.label | source(...) : String |
| Test.java:63:10:63:10 | t : Test [field] : String | semmle.label | t : Test [field] : String |
| Test.java:63:10:63:16 | get(...) | semmle.label | get(...) |
| Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String | semmle.label | modelledFluentMethod(...) [post update] : Test [field] : String |
| Test.java:68:86:68:93 | source(...) : String | semmle.label | source(...) : String |
| Test.java:69:10:69:10 | t : Test [field] : String | semmle.label | t : Test [field] : String |
| Test.java:69:10:69:16 | get(...) | semmle.label | get(...) |
subpaths
| Test.java:44:30:44:37 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:44:5:44:18 | fluentNoop(...) [post update] : Test [field] : String |
| Test.java:45:10:45:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:45:10:45:16 | get(...) |
| Test.java:50:45:50:52 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:50:5:50:33 | fluentNoop(...) [post update] : Test [field] : String |
| Test.java:51:10:51:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:51:10:51:16 | get(...) |
| Test.java:56:40:56:47 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:56:5:56:28 | indirectlyFluentNoop(...) [post update] : Test [field] : String |
| Test.java:57:10:57:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:57:10:57:16 | get(...) |
| Test.java:62:63:62:70 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:62:5:62:51 | modelledFluentMethod(...) [post update] : Test [field] : String |
| Test.java:63:10:63:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:63:10:63:16 | get(...) |
| Test.java:68:86:68:93 | source(...) : String | Test.java:23:25:23:32 | x : String | Test.java:23:15:23:23 | parameter this [Return] : Test [field] : String | Test.java:68:5:68:74 | modelledFluentMethod(...) [post update] : Test [field] : String |
| Test.java:69:10:69:10 | t : Test [field] : String | Test.java:32:17:32:19 | parameter this : Test [field] : String | Test.java:33:12:33:16 | field : String | Test.java:69:10:69:16 | get(...) |
testFailures

View File

@@ -3,6 +3,7 @@ import semmle.code.java.dataflow.DataFlow
import semmle.code.java.dataflow.FlowSteps
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph
class Model extends FluentMethod {
Model() { this.getName() = "modelledFluentMethod" }

View File

@@ -0,0 +1,94 @@
models
| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
| 2 | Summary: java.util; Arrays; false; stream; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual |
| 3 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 4 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
| 5 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
| 6 | Summary: java.util; Optional; false; get; ; ; Argument[this].Element; ReturnValue; value; manual |
edges
| A.java:10:19:10:43 | {...} : String[] [[]] : String | A.java:11:38:11:39 | xs : String[] [[]] : String | provenance | |
| A.java:10:34:10:41 | source(...) : String | A.java:10:19:10:43 | {...} : String[] [[]] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:13:10:13:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:14:10:14:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:15:10:15:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:16:10:16:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:17:10:17:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:18:10:18:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:19:10:19:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:24:10:24:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:26:10:26:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:27:10:27:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | A.java:28:10:28:10 | s : Stream [<element>] : String | provenance | |
| A.java:11:38:11:39 | xs : String[] [[]] : String | A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | provenance | MaD:2 |
| A.java:13:10:13:10 | s : Stream [<element>] : String | A.java:13:10:13:42 | collect(...) : Optional [<element>] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] |
| A.java:13:10:13:42 | collect(...) : Optional [<element>] : String | A.java:13:10:13:48 | get(...) | provenance | MaD:6 |
| A.java:14:10:14:10 | s : Stream [<element>] : String | A.java:14:10:14:42 | collect(...) : Optional [<element>] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] |
| A.java:14:10:14:42 | collect(...) : Optional [<element>] : String | A.java:14:10:14:48 | get(...) | provenance | MaD:6 |
| A.java:15:10:15:10 | s : Stream [<element>] : String | A.java:15:10:15:49 | collect(...) : Collection [<element>] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] |
| A.java:15:10:15:49 | collect(...) : Collection [<element>] : String | A.java:15:10:15:60 | iterator(...) : Iterator [<element>] : String | provenance | MaD:1 |
| A.java:15:10:15:60 | iterator(...) : Iterator [<element>] : String | A.java:15:10:15:67 | next(...) | provenance | MaD:3 |
| A.java:16:10:16:10 | s : Stream [<element>] : String | A.java:16:10:16:39 | collect(...) : List [<element>] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] |
| A.java:16:10:16:39 | collect(...) : List [<element>] : String | A.java:16:10:16:46 | get(...) | provenance | MaD:4 |
| A.java:17:10:17:10 | s : Stream [<element>] : String | A.java:17:10:17:38 | collect(...) : Set [<element>] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] |
| A.java:17:10:17:38 | collect(...) : Set [<element>] : String | A.java:17:10:17:49 | iterator(...) : Iterator [<element>] : String | provenance | MaD:1 |
| A.java:17:10:17:49 | iterator(...) : Iterator [<element>] : String | A.java:17:10:17:56 | next(...) | provenance | MaD:3 |
| A.java:18:10:18:10 | s : Stream [<element>] : String | A.java:18:10:18:51 | collect(...) : List [<element>] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] |
| A.java:18:10:18:51 | collect(...) : List [<element>] : String | A.java:18:10:18:58 | get(...) | provenance | MaD:4 |
| A.java:19:10:19:10 | s : Stream [<element>] : String | A.java:19:10:19:50 | collect(...) : Set [<element>] : String | provenance | java.util.stream.collect()+Collectors.[toList,...] |
| A.java:19:10:19:50 | collect(...) : Set [<element>] : String | A.java:19:10:19:61 | iterator(...) : Iterator [<element>] : String | provenance | MaD:1 |
| A.java:19:10:19:61 | iterator(...) : Iterator [<element>] : String | A.java:19:10:19:68 | next(...) | provenance | MaD:3 |
| A.java:24:10:24:10 | s : Stream [<element>] : String | A.java:24:10:24:40 | collect(...) | provenance | java.util.stream.collect()+Collectors.joining |
| A.java:26:10:26:10 | s : Stream [<element>] : String | A.java:26:10:26:47 | collect(...) : Map [<map.value>, <element>] : String | provenance | java.util.stream.collect()+Collectors.[groupingBy(Function),...] |
| A.java:26:10:26:47 | collect(...) : Map [<map.value>, <element>] : String | A.java:26:10:26:57 | get(...) : List [<element>] : String | provenance | MaD:5 |
| A.java:26:10:26:57 | get(...) : List [<element>] : String | A.java:26:10:26:64 | get(...) | provenance | MaD:4 |
| A.java:27:10:27:10 | s : Stream [<element>] : String | A.java:27:10:27:57 | collect(...) : ConcurrentMap [<map.value>, <element>] : String | provenance | java.util.stream.collect()+Collectors.[groupingBy(Function),...] |
| A.java:27:10:27:57 | collect(...) : ConcurrentMap [<map.value>, <element>] : String | A.java:27:10:27:67 | get(...) : List [<element>] : String | provenance | MaD:5 |
| A.java:27:10:27:67 | get(...) : List [<element>] : String | A.java:27:10:27:74 | get(...) | provenance | MaD:4 |
| A.java:28:10:28:10 | s : Stream [<element>] : String | A.java:28:10:28:51 | collect(...) : Map [<map.value>, <element>] : String | provenance | java.util.stream.collect()+Collectors.[groupingBy(Function),...] |
| A.java:28:10:28:51 | collect(...) : Map [<map.value>, <element>] : String | A.java:28:10:28:61 | get(...) : List [<element>] : String | provenance | MaD:5 |
| A.java:28:10:28:61 | get(...) : List [<element>] : String | A.java:28:10:28:68 | get(...) | provenance | MaD:4 |
nodes
| A.java:10:19:10:43 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| A.java:10:34:10:41 | source(...) : String | semmle.label | source(...) : String |
| A.java:11:24:11:40 | stream(...) : Stream [<element>] : String | semmle.label | stream(...) : Stream [<element>] : String |
| A.java:11:38:11:39 | xs : String[] [[]] : String | semmle.label | xs : String[] [[]] : String |
| A.java:13:10:13:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:13:10:13:42 | collect(...) : Optional [<element>] : String | semmle.label | collect(...) : Optional [<element>] : String |
| A.java:13:10:13:48 | get(...) | semmle.label | get(...) |
| A.java:14:10:14:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:14:10:14:42 | collect(...) : Optional [<element>] : String | semmle.label | collect(...) : Optional [<element>] : String |
| A.java:14:10:14:48 | get(...) | semmle.label | get(...) |
| A.java:15:10:15:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:15:10:15:49 | collect(...) : Collection [<element>] : String | semmle.label | collect(...) : Collection [<element>] : String |
| A.java:15:10:15:60 | iterator(...) : Iterator [<element>] : String | semmle.label | iterator(...) : Iterator [<element>] : String |
| A.java:15:10:15:67 | next(...) | semmle.label | next(...) |
| A.java:16:10:16:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:16:10:16:39 | collect(...) : List [<element>] : String | semmle.label | collect(...) : List [<element>] : String |
| A.java:16:10:16:46 | get(...) | semmle.label | get(...) |
| A.java:17:10:17:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:17:10:17:38 | collect(...) : Set [<element>] : String | semmle.label | collect(...) : Set [<element>] : String |
| A.java:17:10:17:49 | iterator(...) : Iterator [<element>] : String | semmle.label | iterator(...) : Iterator [<element>] : String |
| A.java:17:10:17:56 | next(...) | semmle.label | next(...) |
| A.java:18:10:18:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:18:10:18:51 | collect(...) : List [<element>] : String | semmle.label | collect(...) : List [<element>] : String |
| A.java:18:10:18:58 | get(...) | semmle.label | get(...) |
| A.java:19:10:19:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:19:10:19:50 | collect(...) : Set [<element>] : String | semmle.label | collect(...) : Set [<element>] : String |
| A.java:19:10:19:61 | iterator(...) : Iterator [<element>] : String | semmle.label | iterator(...) : Iterator [<element>] : String |
| A.java:19:10:19:68 | next(...) | semmle.label | next(...) |
| A.java:24:10:24:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:24:10:24:40 | collect(...) | semmle.label | collect(...) |
| A.java:26:10:26:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:26:10:26:47 | collect(...) : Map [<map.value>, <element>] : String | semmle.label | collect(...) : Map [<map.value>, <element>] : String |
| A.java:26:10:26:57 | get(...) : List [<element>] : String | semmle.label | get(...) : List [<element>] : String |
| A.java:26:10:26:64 | get(...) | semmle.label | get(...) |
| A.java:27:10:27:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:27:10:27:57 | collect(...) : ConcurrentMap [<map.value>, <element>] : String | semmle.label | collect(...) : ConcurrentMap [<map.value>, <element>] : String |
| A.java:27:10:27:67 | get(...) : List [<element>] : String | semmle.label | get(...) : List [<element>] : String |
| A.java:27:10:27:74 | get(...) | semmle.label | get(...) |
| A.java:28:10:28:10 | s : Stream [<element>] : String | semmle.label | s : Stream [<element>] : String |
| A.java:28:10:28:51 | collect(...) : Map [<map.value>, <element>] : String | semmle.label | collect(...) : Map [<map.value>, <element>] : String |
| A.java:28:10:28:61 | get(...) : List [<element>] : String | semmle.label | get(...) : List [<element>] : String |
| A.java:28:10:28:68 | get(...) | semmle.label | get(...) |
subpaths
testFailures

View File

@@ -1,2 +1,3 @@
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,45 @@
models
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
edges
| A.java:31:27:31:34 | source(...) : InputStream | A.java:33:14:33:21 | wrapper1 | provenance | AdditionalTaintStep |
| A.java:31:27:31:34 | source(...) : InputStream | A.java:35:14:35:21 | wrapper2 | provenance | AdditionalTaintStep |
| A.java:31:27:31:34 | source(...) : InputStream | A.java:37:14:37:21 | wrapper3 | provenance | AdditionalTaintStep |
| A.java:31:27:31:34 | source(...) : InputStream | A.java:51:14:51:21 | wrapper4 | provenance | AdditionalTaintStep |
| A.java:55:31:66:9 | new (...) : new InputStream(...) { ... } | A.java:67:14:67:20 | wrapper | provenance | |
| A.java:63:34:63:41 | source(...) : InputStream | A.java:64:24:64:25 | in : InputStream | provenance | |
| A.java:64:24:64:25 | in : InputStream | A.java:64:32:64:32 | b [post update] : byte[] | provenance | MaD:1 |
| A.java:64:32:64:32 | b [post update] : byte[] | A.java:55:31:66:9 | new (...) : new InputStream(...) { ... } | provenance | AdditionalTaintStep |
| A.java:71:26:71:33 | source(...) : InputStream | A.java:84:14:84:20 | wrapper | provenance | AdditionalTaintStep |
| A.java:87:42:87:55 | in : InputStream | A.java:88:16:98:9 | new (...) : new InputStream(...) { ... } | provenance | AdditionalTaintStep |
| A.java:103:25:103:32 | source(...) : InputStream | A.java:87:42:87:55 | in : InputStream | provenance | |
| A.java:103:25:103:32 | source(...) : InputStream | A.java:103:14:103:33 | wrapStream(...) | provenance | AdditionalTaintStep |
| A.java:116:34:116:41 | source(...) : InputStream | A.java:117:24:117:25 | in : InputStream | provenance | |
| A.java:117:24:117:25 | in : InputStream | A.java:117:32:117:32 | b [post update] : byte[] | provenance | MaD:1 |
| A.java:117:32:117:32 | b [post update] : byte[] | A.java:120:14:120:35 | new LocalInputStream(...) | provenance | AdditionalTaintStep |
| A.java:124:26:124:33 | source(...) : InputStream | A.java:137:14:137:35 | new LocalInputStream(...) | provenance | AdditionalTaintStep |
nodes
| A.java:31:27:31:34 | source(...) : InputStream | semmle.label | source(...) : InputStream |
| A.java:33:14:33:21 | wrapper1 | semmle.label | wrapper1 |
| A.java:35:14:35:21 | wrapper2 | semmle.label | wrapper2 |
| A.java:37:14:37:21 | wrapper3 | semmle.label | wrapper3 |
| A.java:51:14:51:21 | wrapper4 | semmle.label | wrapper4 |
| A.java:55:31:66:9 | new (...) : new InputStream(...) { ... } | semmle.label | new (...) : new InputStream(...) { ... } |
| A.java:63:34:63:41 | source(...) : InputStream | semmle.label | source(...) : InputStream |
| A.java:64:24:64:25 | in : InputStream | semmle.label | in : InputStream |
| A.java:64:32:64:32 | b [post update] : byte[] | semmle.label | b [post update] : byte[] |
| A.java:67:14:67:20 | wrapper | semmle.label | wrapper |
| A.java:71:26:71:33 | source(...) : InputStream | semmle.label | source(...) : InputStream |
| A.java:84:14:84:20 | wrapper | semmle.label | wrapper |
| A.java:87:42:87:55 | in : InputStream | semmle.label | in : InputStream |
| A.java:88:16:98:9 | new (...) : new InputStream(...) { ... } | semmle.label | new (...) : new InputStream(...) { ... } |
| A.java:103:14:103:33 | wrapStream(...) | semmle.label | wrapStream(...) |
| A.java:103:25:103:32 | source(...) : InputStream | semmle.label | source(...) : InputStream |
| A.java:116:34:116:41 | source(...) : InputStream | semmle.label | source(...) : InputStream |
| A.java:117:24:117:25 | in : InputStream | semmle.label | in : InputStream |
| A.java:117:32:117:32 | b [post update] : byte[] | semmle.label | b [post update] : byte[] |
| A.java:120:14:120:35 | new LocalInputStream(...) | semmle.label | new LocalInputStream(...) |
| A.java:124:26:124:33 | source(...) : InputStream | semmle.label | source(...) : InputStream |
| A.java:137:14:137:35 | new LocalInputStream(...) | semmle.label | new LocalInputStream(...) |
subpaths
| A.java:103:25:103:32 | source(...) : InputStream | A.java:87:42:87:55 | in : InputStream | A.java:88:16:98:9 | new (...) : new InputStream(...) { ... } | A.java:103:14:103:33 | wrapStream(...) |
testFailures

View File

@@ -1,2 +1,3 @@
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,2 +1,18 @@
models
| 1 | Summary: my.qltest.synth; A; false; storeInArray; (String); ; Argument[0]; SyntheticGlobal[db1].ArrayElement; value; manual |
| 2 | Summary: my.qltest.synth; A; false; storeTaintInArray; (String); ; Argument[0]; SyntheticGlobal[db1].ArrayElement; taint; manual |
| 3 | Summary: my.qltest.synth; A; false; storeValue; (String); ; Argument[0]; SyntheticGlobal[db1]; value; manual |
edges
| A.java:16:18:16:28 | source(...) : String | A.java:23:10:23:20 | readArray(...) | provenance | MaD:1 |
| A.java:17:23:17:33 | source(...) : String | A.java:23:10:23:20 | readArray(...) | provenance | MaD:2 |
| A.java:18:16:18:26 | source(...) : String | A.java:22:10:22:20 | readValue(...) | provenance | MaD:3 |
| A.java:18:16:18:26 | source(...) : String | A.java:23:10:23:20 | readArray(...) | provenance | MaD:3 |
nodes
| A.java:16:18:16:28 | source(...) : String | semmle.label | source(...) : String |
| A.java:17:23:17:33 | source(...) : String | semmle.label | source(...) : String |
| A.java:18:16:18:26 | source(...) : String | semmle.label | source(...) : String |
| A.java:22:10:22:20 | readValue(...) | semmle.label | readValue(...) |
| A.java:23:10:23:20 | readArray(...) | semmle.label | readArray(...) |
subpaths
testFailures
invalidModelRow

View File

@@ -3,3 +3,4 @@ import semmle.code.java.dataflow.ExternalFlow
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import ModelValidation
import TaintFlow::PathGraph

View File

@@ -0,0 +1,81 @@
models
| 1 | Summary: java.util; Formatter; false; Formatter; (Appendable); ; Argument[0]; Argument[this]; taint; df-generated |
| 2 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; df-generated |
| 3 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[this]; ReturnValue; taint; df-generated |
| 4 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[this]; ReturnValue; value; manual |
| 5 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual |
| 6 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: java.lang; String; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
| 8 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
edges
| A.java:12:22:12:29 | source(...) : String | A.java:15:14:15:16 | bad : String | provenance | |
| A.java:12:22:12:29 | source(...) : String | A.java:16:34:16:36 | bad : String | provenance | |
| A.java:12:22:12:29 | source(...) : String | A.java:17:36:17:38 | bad : String | provenance | |
| A.java:12:22:12:29 | source(...) : String | A.java:19:107:19:109 | bad : String | provenance | |
| A.java:15:14:15:16 | bad : String | A.java:15:14:15:32 | formatted(...) | provenance | MaD:8 |
| A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | A.java:16:14:16:48 | formatted(...) | provenance | MaD:9 |
| A.java:16:34:16:36 | bad : String | A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | provenance | |
| A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | A.java:17:14:17:45 | format(...) | provenance | MaD:7 |
| A.java:17:36:17:38 | bad : String | A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | provenance | |
| A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | A.java:19:14:19:110 | format(...) | provenance | MaD:7 |
| A.java:19:107:19:109 | bad : String | A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | provenance | |
| A.java:23:22:23:29 | source(...) : String | A.java:27:14:27:32 | format(...) | provenance | TaintPreservingCallable |
| A.java:23:22:23:29 | source(...) : String | A.java:27:29:27:31 | bad : String | provenance | |
| A.java:23:22:23:29 | source(...) : String | A.java:28:14:28:25 | toString(...) | provenance | TaintPreservingCallable |
| A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | A.java:27:14:27:32 | format(...) | provenance | MaD:2 |
| A.java:27:29:27:31 | bad : String | A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | provenance | |
| A.java:32:22:32:29 | source(...) : String | A.java:36:14:36:15 | sb : StringBuilder | provenance | formatStep |
| A.java:32:22:32:29 | source(...) : String | A.java:37:14:37:32 | format(...) | provenance | TaintPreservingCallable |
| A.java:32:22:32:29 | source(...) : String | A.java:37:29:37:31 | bad : String | provenance | |
| A.java:32:22:32:29 | source(...) : String | A.java:38:14:38:15 | sb : StringBuilder | provenance | formatStep |
| A.java:36:14:36:15 | sb : StringBuilder | A.java:36:14:36:26 | toString(...) | provenance | MaD:6 |
| A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | A.java:37:14:37:32 | format(...) | provenance | MaD:2 |
| A.java:37:29:37:31 | bad : String | A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | provenance | |
| A.java:38:14:38:15 | sb : StringBuilder | A.java:38:14:38:26 | toString(...) | provenance | MaD:6 |
| A.java:42:22:42:29 | source(...) : String | A.java:45:24:45:26 | bad : String | provenance | |
| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:30 | new Formatter(...) : Formatter | provenance | TaintPreservingCallable |
| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:28:47:29 | sb : StringBuilder | provenance | |
| A.java:45:24:45:26 | bad : String | A.java:45:14:45:15 | sb [post update] : StringBuilder | provenance | MaD:5 |
| A.java:45:24:45:26 | bad : String | A.java:45:14:45:27 | append(...) | provenance | MaD:5+MaD:4 |
| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:43 | format(...) : Formatter | provenance | MaD:3 |
| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
| A.java:47:14:47:43 | format(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
| A.java:47:28:47:29 | sb : StringBuilder | A.java:47:14:47:30 | new Formatter(...) : Formatter | provenance | MaD:1 |
nodes
| A.java:12:22:12:29 | source(...) : String | semmle.label | source(...) : String |
| A.java:15:14:15:16 | bad : String | semmle.label | bad : String |
| A.java:15:14:15:32 | formatted(...) | semmle.label | formatted(...) |
| A.java:16:14:16:48 | formatted(...) | semmle.label | formatted(...) |
| A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String |
| A.java:16:34:16:36 | bad : String | semmle.label | bad : String |
| A.java:17:14:17:45 | format(...) | semmle.label | format(...) |
| A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String |
| A.java:17:36:17:38 | bad : String | semmle.label | bad : String |
| A.java:19:14:19:110 | format(...) | semmle.label | format(...) |
| A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String |
| A.java:19:107:19:109 | bad : String | semmle.label | bad : String |
| A.java:23:22:23:29 | source(...) : String | semmle.label | source(...) : String |
| A.java:27:14:27:32 | format(...) | semmle.label | format(...) |
| A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String |
| A.java:27:29:27:31 | bad : String | semmle.label | bad : String |
| A.java:28:14:28:25 | toString(...) | semmle.label | toString(...) |
| A.java:32:22:32:29 | source(...) : String | semmle.label | source(...) : String |
| A.java:36:14:36:15 | sb : StringBuilder | semmle.label | sb : StringBuilder |
| A.java:36:14:36:26 | toString(...) | semmle.label | toString(...) |
| A.java:37:14:37:32 | format(...) | semmle.label | format(...) |
| A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String |
| A.java:37:29:37:31 | bad : String | semmle.label | bad : String |
| A.java:38:14:38:15 | sb : StringBuilder | semmle.label | sb : StringBuilder |
| A.java:38:14:38:26 | toString(...) | semmle.label | toString(...) |
| A.java:42:22:42:29 | source(...) : String | semmle.label | source(...) : String |
| A.java:45:14:45:15 | sb [post update] : StringBuilder | semmle.label | sb [post update] : StringBuilder |
| A.java:45:14:45:27 | append(...) | semmle.label | append(...) |
| A.java:45:24:45:26 | bad : String | semmle.label | bad : String |
| A.java:47:14:47:30 | new Formatter(...) : Formatter | semmle.label | new Formatter(...) : Formatter |
| A.java:47:14:47:43 | format(...) : Formatter | semmle.label | format(...) : Formatter |
| A.java:47:14:47:54 | toString(...) | semmle.label | toString(...) |
| A.java:47:28:47:29 | sb : StringBuilder | semmle.label | sb : StringBuilder |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,50 @@
models
| 1 | Summary: com.google.gson; Gson; false; fromJson; ; ; Argument[0]; ReturnValue; taint; manual |
edges
| Test.java:9:24:9:30 | parameter this : Potato | Test.java:10:20:10:23 | name : String | provenance | |
| Test.java:13:24:13:31 | parameter this : Potato | Test.java:14:20:14:24 | inner : Potato | provenance | |
| Test.java:17:24:17:32 | parameter this : Potato | Test.java:18:20:18:25 | object : Object | provenance | |
| Test.java:30:20:30:27 | source(...) : String | Test.java:31:46:31:46 | s : String | provenance | |
| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:32:14:32:20 | tainted | provenance | |
| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:33:14:33:20 | tainted : Potato | provenance | |
| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:34:14:34:20 | tainted : Potato | provenance | |
| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:35:14:35:20 | tainted : Potato | provenance | |
| Test.java:31:26:31:61 | fromJson(...) : Potato | Test.java:36:14:36:20 | tainted : Potato | provenance | |
| Test.java:31:46:31:46 | s : String | Test.java:31:26:31:61 | fromJson(...) : Potato | provenance | MaD:1 |
| Test.java:33:14:33:20 | tainted : Potato | Test.java:9:24:9:30 | parameter this : Potato | provenance | |
| Test.java:33:14:33:20 | tainted : Potato | Test.java:33:14:33:30 | getName(...) | provenance | |
| Test.java:34:14:34:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | provenance | |
| Test.java:34:14:34:20 | tainted : Potato | Test.java:34:14:34:31 | getInner(...) | provenance | |
| Test.java:35:14:35:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | provenance | |
| Test.java:35:14:35:20 | tainted : Potato | Test.java:35:14:35:31 | getInner(...) : Potato | provenance | |
| Test.java:35:14:35:31 | getInner(...) : Potato | Test.java:9:24:9:30 | parameter this : Potato | provenance | |
| Test.java:35:14:35:31 | getInner(...) : Potato | Test.java:35:14:35:41 | getName(...) | provenance | |
| Test.java:36:14:36:20 | tainted : Potato | Test.java:17:24:17:32 | parameter this : Potato | provenance | |
| Test.java:36:14:36:20 | tainted : Potato | Test.java:36:14:36:32 | getObject(...) | provenance | |
nodes
| Test.java:9:24:9:30 | parameter this : Potato | semmle.label | parameter this : Potato |
| Test.java:10:20:10:23 | name : String | semmle.label | name : String |
| Test.java:13:24:13:31 | parameter this : Potato | semmle.label | parameter this : Potato |
| Test.java:14:20:14:24 | inner : Potato | semmle.label | inner : Potato |
| Test.java:17:24:17:32 | parameter this : Potato | semmle.label | parameter this : Potato |
| Test.java:18:20:18:25 | object : Object | semmle.label | object : Object |
| Test.java:30:20:30:27 | source(...) : String | semmle.label | source(...) : String |
| Test.java:31:26:31:61 | fromJson(...) : Potato | semmle.label | fromJson(...) : Potato |
| Test.java:31:46:31:46 | s : String | semmle.label | s : String |
| Test.java:32:14:32:20 | tainted | semmle.label | tainted |
| Test.java:33:14:33:20 | tainted : Potato | semmle.label | tainted : Potato |
| Test.java:33:14:33:30 | getName(...) | semmle.label | getName(...) |
| Test.java:34:14:34:20 | tainted : Potato | semmle.label | tainted : Potato |
| Test.java:34:14:34:31 | getInner(...) | semmle.label | getInner(...) |
| Test.java:35:14:35:20 | tainted : Potato | semmle.label | tainted : Potato |
| Test.java:35:14:35:31 | getInner(...) : Potato | semmle.label | getInner(...) : Potato |
| Test.java:35:14:35:41 | getName(...) | semmle.label | getName(...) |
| Test.java:36:14:36:20 | tainted : Potato | semmle.label | tainted : Potato |
| Test.java:36:14:36:32 | getObject(...) | semmle.label | getObject(...) |
subpaths
| Test.java:33:14:33:20 | tainted : Potato | Test.java:9:24:9:30 | parameter this : Potato | Test.java:10:20:10:23 | name : String | Test.java:33:14:33:30 | getName(...) |
| Test.java:34:14:34:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | Test.java:14:20:14:24 | inner : Potato | Test.java:34:14:34:31 | getInner(...) |
| Test.java:35:14:35:20 | tainted : Potato | Test.java:13:24:13:31 | parameter this : Potato | Test.java:14:20:14:24 | inner : Potato | Test.java:35:14:35:31 | getInner(...) : Potato |
| Test.java:35:14:35:31 | getInner(...) : Potato | Test.java:9:24:9:30 | parameter this : Potato | Test.java:10:20:10:23 | name : String | Test.java:35:14:35:41 | getName(...) |
| Test.java:36:14:36:20 | tainted : Potato | Test.java:17:24:17:32 | parameter this : Potato | Test.java:18:20:18:25 | object : Object | Test.java:36:14:36:32 | getObject(...) |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,110 @@
models
| 1 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; convertValue; ; ; Argument[0]; ReturnValue; taint; manual |
| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue; ReturnValue; taint; manual |
| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual |
| 4 | Summary: java.io; FileOutputStream; true; FileOutputStream; (File); ; Argument[0]; Argument[this]; taint; df-generated |
| 5 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
| 6 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 7 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
edges
| Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | provenance | AdditionalTaintStep |
| Test.java:33:14:33:20 | taint(...) : String | Test.java:37:8:37:11 | file | provenance | TaintPreservingCallable |
| Test.java:33:14:33:20 | taint(...) : String | Test.java:40:8:40:11 | file | provenance | TaintPreservingCallable |
| Test.java:33:14:33:20 | taint(...) : String | Test.java:43:8:43:13 | writer | provenance | TaintPreservingCallable |
| Test.java:33:14:33:20 | taint(...) : String | Test.java:46:8:46:16 | generator | provenance | TaintPreservingCallable |
| Test.java:33:14:33:20 | taint(...) : String | Test.java:48:8:48:8 | t | provenance | TaintPreservingCallable |
| Test.java:33:14:33:20 | taint(...) : String | Test.java:50:37:50:38 | bs : byte[] | provenance | TaintPreservingCallable |
| Test.java:33:14:33:20 | taint(...) : String | Test.java:51:8:51:9 | bs | provenance | TaintPreservingCallable |
| Test.java:50:26:50:48 | new String(...) : String | Test.java:52:8:52:20 | reconstructed | provenance | |
| Test.java:50:37:50:38 | bs : byte[] | Test.java:50:26:50:48 | new String(...) : String | provenance | MaD:5 |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:60:8:60:11 | file | provenance | TaintPreservingCallable |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:61:43:61:46 | file : File | provenance | TaintPreservingCallable |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:63:8:63:10 | out | provenance | TaintPreservingCallable |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:66:8:66:13 | writer | provenance | TaintPreservingCallable |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:69:8:69:16 | generator | provenance | TaintPreservingCallable |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:71:8:71:8 | t | provenance | TaintPreservingCallable |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:73:37:73:38 | bs : byte[] | provenance | TaintPreservingCallable |
| Test.java:56:14:56:20 | taint(...) : String | Test.java:74:8:74:9 | bs | provenance | TaintPreservingCallable |
| Test.java:61:22:61:47 | new FileOutputStream(...) : FileOutputStream | Test.java:63:8:63:10 | out | provenance | |
| Test.java:61:43:61:46 | file : File | Test.java:61:22:61:47 | new FileOutputStream(...) : FileOutputStream | provenance | MaD:4 |
| Test.java:73:26:73:48 | new String(...) : String | Test.java:75:8:75:20 | reconstructed | provenance | |
| Test.java:73:37:73:38 | bs : byte[] | Test.java:73:26:73:48 | new String(...) : String | provenance | MaD:5 |
| Test.java:79:14:79:20 | taint(...) : String | Test.java:82:8:82:26 | readValue(...) | provenance | TaintPreservingCallable |
| Test.java:79:14:79:20 | taint(...) : String | Test.java:83:8:83:45 | readValue(...).name | provenance | TaintPreservingCallable |
| Test.java:79:14:79:20 | taint(...) : String | Test.java:84:8:84:40 | readValue(...) : Potato | provenance | TaintPreservingCallable |
| Test.java:84:8:84:40 | readValue(...) : Potato | Test.java:21:18:21:24 | parameter this : Potato | provenance | |
| Test.java:84:8:84:40 | readValue(...) : Potato | Test.java:84:8:84:50 | getName(...) | provenance | AdditionalTaintStep |
| Test.java:88:14:88:20 | taint(...) : String | Test.java:91:8:91:27 | readValues(...) | provenance | TaintPreservingCallable |
| Test.java:88:14:88:20 | taint(...) : String | Test.java:94:15:94:23 | pIterator : MappingIterator | provenance | TaintPreservingCallable |
| Test.java:94:15:94:23 | pIterator : MappingIterator | Test.java:94:15:94:30 | next(...) : Potato | provenance | MaD:6 |
| Test.java:94:15:94:30 | next(...) : Potato | Test.java:95:9:95:9 | p | provenance | |
| Test.java:94:15:94:30 | next(...) : Potato | Test.java:96:9:96:14 | p.name | provenance | AdditionalTaintStep |
| Test.java:94:15:94:30 | next(...) : Potato | Test.java:97:9:97:9 | p : Potato | provenance | |
| Test.java:97:9:97:9 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | provenance | |
| Test.java:97:9:97:9 | p : Potato | Test.java:97:9:97:19 | getName(...) | provenance | AdditionalTaintStep |
| Test.java:102:14:102:20 | taint(...) : String | Test.java:104:29:104:29 | s : String | provenance | |
| Test.java:104:3:104:15 | taintedParams [post update] : HashMap [<map.value>] : String | Test.java:106:32:106:44 | taintedParams : HashMap [<map.value>] : String | provenance | |
| Test.java:104:29:104:29 | s : String | Test.java:104:3:104:15 | taintedParams [post update] : HashMap [<map.value>] : String | provenance | MaD:7 |
| Test.java:106:17:106:45 | valueToTree(...) : JsonNode | Test.java:107:8:107:9 | jn | provenance | |
| Test.java:106:17:106:45 | valueToTree(...) : JsonNode | Test.java:108:30:108:31 | jn : JsonNode | provenance | |
| Test.java:106:32:106:44 | taintedParams : HashMap [<map.value>] : String | Test.java:106:17:106:45 | valueToTree(...) : JsonNode | provenance | MaD:2 |
| Test.java:106:32:106:44 | taintedParams : HashMap [<map.value>] : String | Test.java:106:17:106:45 | valueToTree(...) : JsonNode | provenance | MaD:3 |
| Test.java:108:14:108:46 | convertValue(...) : Potato | Test.java:109:8:109:8 | p | provenance | |
| Test.java:108:14:108:46 | convertValue(...) : Potato | Test.java:110:8:110:8 | p : Potato | provenance | |
| Test.java:108:30:108:31 | jn : JsonNode | Test.java:108:14:108:46 | convertValue(...) : Potato | provenance | MaD:1 |
| Test.java:110:8:110:8 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | provenance | |
| Test.java:110:8:110:8 | p : Potato | Test.java:110:8:110:18 | getName(...) | provenance | AdditionalTaintStep |
nodes
| Test.java:21:18:21:24 | parameter this : Potato | semmle.label | parameter this : Potato |
| Test.java:22:11:22:14 | name : String | semmle.label | name : String |
| Test.java:33:14:33:20 | taint(...) : String | semmle.label | taint(...) : String |
| Test.java:37:8:37:11 | file | semmle.label | file |
| Test.java:40:8:40:11 | file | semmle.label | file |
| Test.java:43:8:43:13 | writer | semmle.label | writer |
| Test.java:46:8:46:16 | generator | semmle.label | generator |
| Test.java:48:8:48:8 | t | semmle.label | t |
| Test.java:50:26:50:48 | new String(...) : String | semmle.label | new String(...) : String |
| Test.java:50:37:50:38 | bs : byte[] | semmle.label | bs : byte[] |
| Test.java:51:8:51:9 | bs | semmle.label | bs |
| Test.java:52:8:52:20 | reconstructed | semmle.label | reconstructed |
| Test.java:56:14:56:20 | taint(...) : String | semmle.label | taint(...) : String |
| Test.java:60:8:60:11 | file | semmle.label | file |
| Test.java:61:22:61:47 | new FileOutputStream(...) : FileOutputStream | semmle.label | new FileOutputStream(...) : FileOutputStream |
| Test.java:61:43:61:46 | file : File | semmle.label | file : File |
| Test.java:63:8:63:10 | out | semmle.label | out |
| Test.java:66:8:66:13 | writer | semmle.label | writer |
| Test.java:69:8:69:16 | generator | semmle.label | generator |
| Test.java:71:8:71:8 | t | semmle.label | t |
| Test.java:73:26:73:48 | new String(...) : String | semmle.label | new String(...) : String |
| Test.java:73:37:73:38 | bs : byte[] | semmle.label | bs : byte[] |
| Test.java:74:8:74:9 | bs | semmle.label | bs |
| Test.java:75:8:75:20 | reconstructed | semmle.label | reconstructed |
| Test.java:79:14:79:20 | taint(...) : String | semmle.label | taint(...) : String |
| Test.java:82:8:82:26 | readValue(...) | semmle.label | readValue(...) |
| Test.java:83:8:83:45 | readValue(...).name | semmle.label | readValue(...).name |
| Test.java:84:8:84:40 | readValue(...) : Potato | semmle.label | readValue(...) : Potato |
| Test.java:84:8:84:50 | getName(...) | semmle.label | getName(...) |
| Test.java:88:14:88:20 | taint(...) : String | semmle.label | taint(...) : String |
| Test.java:91:8:91:27 | readValues(...) | semmle.label | readValues(...) |
| Test.java:94:15:94:23 | pIterator : MappingIterator | semmle.label | pIterator : MappingIterator |
| Test.java:94:15:94:30 | next(...) : Potato | semmle.label | next(...) : Potato |
| Test.java:95:9:95:9 | p | semmle.label | p |
| Test.java:96:9:96:14 | p.name | semmle.label | p.name |
| Test.java:97:9:97:9 | p : Potato | semmle.label | p : Potato |
| Test.java:97:9:97:19 | getName(...) | semmle.label | getName(...) |
| Test.java:102:14:102:20 | taint(...) : String | semmle.label | taint(...) : String |
| Test.java:104:3:104:15 | taintedParams [post update] : HashMap [<map.value>] : String | semmle.label | taintedParams [post update] : HashMap [<map.value>] : String |
| Test.java:104:29:104:29 | s : String | semmle.label | s : String |
| Test.java:106:17:106:45 | valueToTree(...) : JsonNode | semmle.label | valueToTree(...) : JsonNode |
| Test.java:106:32:106:44 | taintedParams : HashMap [<map.value>] : String | semmle.label | taintedParams : HashMap [<map.value>] : String |
| Test.java:107:8:107:9 | jn | semmle.label | jn |
| Test.java:108:14:108:46 | convertValue(...) : Potato | semmle.label | convertValue(...) : Potato |
| Test.java:108:30:108:31 | jn : JsonNode | semmle.label | jn : JsonNode |
| Test.java:109:8:109:8 | p | semmle.label | p |
| Test.java:110:8:110:8 | p : Potato | semmle.label | p : Potato |
| Test.java:110:8:110:18 | getName(...) | semmle.label | getName(...) |
subpaths
| Test.java:84:8:84:40 | readValue(...) : Potato | Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | Test.java:84:8:84:50 | getName(...) |
| Test.java:97:9:97:9 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | Test.java:97:9:97:19 | getName(...) |
| Test.java:110:8:110:8 | p : Potato | Test.java:21:18:21:24 | parameter this : Potato | Test.java:22:11:22:14 | name : String | Test.java:110:8:110:18 | getName(...) |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,33 @@
models
| 1 | Summary: java.lang; Iterable; true; forEach; (Consumer); ; Argument[this].Element; Argument[0].Parameter[0]; value; manual |
| 2 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual |
edges
| A.java:13:28:13:35 | x : String | A.java:14:11:14:11 | x : String | provenance | |
| A.java:14:11:14:11 | x : String | A.java:22:16:22:16 | x : String | provenance | |
| A.java:17:33:17:40 | x : String | A.java:18:14:18:14 | x : String | provenance | |
| A.java:18:14:18:14 | x : String | A.java:13:28:13:35 | x : String | provenance | |
| A.java:22:16:22:16 | x : String | A.java:22:28:22:28 | x | provenance | |
| A.java:22:35:22:45 | source(...) : String | A.java:17:33:17:40 | x : String | provenance | |
| A.java:28:21:28:34 | l : ArrayList [<element>] : String | A.java:29:5:29:5 | l : ArrayList [<element>] : String | provenance | |
| A.java:29:5:29:5 | l : ArrayList [<element>] : String | A.java:37:27:37:27 | x : String | provenance | MaD:1 |
| A.java:34:5:34:11 | tainted [post update] : ArrayList [<element>] : String | A.java:37:18:37:24 | tainted : ArrayList [<element>] : String | provenance | |
| A.java:34:17:34:27 | source(...) : String | A.java:34:5:34:11 | tainted [post update] : ArrayList [<element>] : String | provenance | MaD:2 |
| A.java:37:18:37:24 | tainted : ArrayList [<element>] : String | A.java:28:21:28:34 | l : ArrayList [<element>] : String | provenance | |
| A.java:37:27:37:27 | x : String | A.java:37:39:37:39 | x | provenance | |
nodes
| A.java:13:28:13:35 | x : String | semmle.label | x : String |
| A.java:14:11:14:11 | x : String | semmle.label | x : String |
| A.java:17:33:17:40 | x : String | semmle.label | x : String |
| A.java:18:14:18:14 | x : String | semmle.label | x : String |
| A.java:22:16:22:16 | x : String | semmle.label | x : String |
| A.java:22:28:22:28 | x | semmle.label | x |
| A.java:22:35:22:45 | source(...) : String | semmle.label | source(...) : String |
| A.java:28:21:28:34 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| A.java:29:5:29:5 | l : ArrayList [<element>] : String | semmle.label | l : ArrayList [<element>] : String |
| A.java:34:5:34:11 | tainted [post update] : ArrayList [<element>] : String | semmle.label | tainted [post update] : ArrayList [<element>] : String |
| A.java:34:17:34:27 | source(...) : String | semmle.label | source(...) : String |
| A.java:37:18:37:24 | tainted : ArrayList [<element>] : String | semmle.label | tainted : ArrayList [<element>] : String |
| A.java:37:27:37:27 | x : String | semmle.label | x : String |
| A.java:37:39:37:39 | x | semmle.label | x |
subpaths
testFailures

View File

@@ -1,2 +1,3 @@
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,59 @@
models
edges
| Test.java:13:19:13:35 | source(...) : Object | Test.java:23:41:23:56 | params : Object[] | provenance | AdditionalTaintStep |
| Test.java:14:35:14:61 | source(...) : Object | Test.java:23:41:23:56 | params : Object[] | provenance | AdditionalTaintStep |
| Test.java:17:58:17:78 | source(...) : Object | Test.java:46:36:46:47 | field : Object | provenance | |
| Test.java:18:20:18:35 | source(...) : Object | Test.java:52:41:52:56 | params : Object[] | provenance | AdditionalTaintStep |
| Test.java:23:41:23:56 | params : Object[] | Test.java:24:18:24:26 | ...[...] | provenance | |
| Test.java:23:41:23:56 | params : Object[] | Test.java:25:18:25:26 | ...[...] | provenance | |
| Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | Test.java:52:26:52:39 | parameter this : TestConstructorTask [initField] : Object | provenance | |
| Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | Test.java:61:24:61:36 | parameter this : TestConstructorTask [initField] : Object | provenance | |
| Test.java:43:25:43:43 | source(...) : Object | Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | provenance | |
| Test.java:46:36:46:47 | field : Object | Test.java:47:26:47:30 | field : Object | provenance | |
| Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | Test.java:52:26:52:39 | parameter this : TestConstructorTask [field] : Object | provenance | |
| Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | Test.java:61:24:61:36 | parameter this : TestConstructorTask [field] : Object | provenance | |
| Test.java:47:26:47:30 | field : Object | Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | provenance | |
| Test.java:52:26:52:39 | parameter this : TestConstructorTask [field] : Object | Test.java:54:18:54:22 | this <.field> : TestConstructorTask [field] : Object | provenance | |
| Test.java:52:26:52:39 | parameter this : TestConstructorTask [initField] : Object | Test.java:56:18:56:26 | this <.field> : TestConstructorTask [initField] : Object | provenance | |
| Test.java:52:41:52:56 | params : Object[] | Test.java:53:18:53:26 | ...[...] | provenance | |
| Test.java:52:41:52:56 | params : Object[] | Test.java:57:20:57:28 | ...[...] : Object | provenance | |
| Test.java:54:18:54:22 | this <.field> : TestConstructorTask [field] : Object | Test.java:54:18:54:22 | field | provenance | |
| Test.java:56:18:56:26 | this <.field> : TestConstructorTask [initField] : Object | Test.java:56:18:56:26 | initField | provenance | |
| Test.java:57:20:57:28 | ...[...] : Object | Test.java:61:38:61:49 | param : Object | provenance | |
| Test.java:61:24:61:36 | parameter this : TestConstructorTask [field] : Object | Test.java:63:18:63:22 | this <.field> : TestConstructorTask [field] : Object | provenance | |
| Test.java:61:24:61:36 | parameter this : TestConstructorTask [initField] : Object | Test.java:65:18:65:26 | this <.field> : TestConstructorTask [initField] : Object | provenance | |
| Test.java:61:38:61:49 | param : Object | Test.java:62:18:62:22 | param | provenance | |
| Test.java:63:18:63:22 | this <.field> : TestConstructorTask [field] : Object | Test.java:63:18:63:22 | field | provenance | |
| Test.java:65:18:65:26 | this <.field> : TestConstructorTask [initField] : Object | Test.java:65:18:65:26 | initField | provenance | |
nodes
| Test.java:13:19:13:35 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:14:35:14:61 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:17:58:17:78 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:18:20:18:35 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:23:41:23:56 | params : Object[] | semmle.label | params : Object[] |
| Test.java:24:18:24:26 | ...[...] | semmle.label | ...[...] |
| Test.java:25:18:25:26 | ...[...] | semmle.label | ...[...] |
| Test.java:43:13:43:21 | this <.field> [post update] : TestConstructorTask [initField] : Object | semmle.label | this <.field> [post update] : TestConstructorTask [initField] : Object |
| Test.java:43:25:43:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:46:36:46:47 | field : Object | semmle.label | field : Object |
| Test.java:47:13:47:16 | this [post update] : TestConstructorTask [field] : Object | semmle.label | this [post update] : TestConstructorTask [field] : Object |
| Test.java:47:26:47:30 | field : Object | semmle.label | field : Object |
| Test.java:52:26:52:39 | parameter this : TestConstructorTask [field] : Object | semmle.label | parameter this : TestConstructorTask [field] : Object |
| Test.java:52:26:52:39 | parameter this : TestConstructorTask [initField] : Object | semmle.label | parameter this : TestConstructorTask [initField] : Object |
| Test.java:52:41:52:56 | params : Object[] | semmle.label | params : Object[] |
| Test.java:53:18:53:26 | ...[...] | semmle.label | ...[...] |
| Test.java:54:18:54:22 | field | semmle.label | field |
| Test.java:54:18:54:22 | this <.field> : TestConstructorTask [field] : Object | semmle.label | this <.field> : TestConstructorTask [field] : Object |
| Test.java:56:18:56:26 | initField | semmle.label | initField |
| Test.java:56:18:56:26 | this <.field> : TestConstructorTask [initField] : Object | semmle.label | this <.field> : TestConstructorTask [initField] : Object |
| Test.java:57:20:57:28 | ...[...] : Object | semmle.label | ...[...] : Object |
| Test.java:61:24:61:36 | parameter this : TestConstructorTask [field] : Object | semmle.label | parameter this : TestConstructorTask [field] : Object |
| Test.java:61:24:61:36 | parameter this : TestConstructorTask [initField] : Object | semmle.label | parameter this : TestConstructorTask [initField] : Object |
| Test.java:61:38:61:49 | param : Object | semmle.label | param : Object |
| Test.java:62:18:62:22 | param | semmle.label | param |
| Test.java:63:18:63:22 | field | semmle.label | field |
| Test.java:63:18:63:22 | this <.field> : TestConstructorTask [field] : Object | semmle.label | this <.field> : TestConstructorTask [field] : Object |
| Test.java:65:18:65:26 | initField | semmle.label | initField |
| Test.java:65:18:65:26 | this <.field> : TestConstructorTask [initField] : Object | semmle.label | this <.field> : TestConstructorTask [initField] : Object |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,932 @@
models
| 1 | Summary: android.content; ContentProviderClient; true; applyBatch; ; ; Argument[this]; ReturnValue; taint; manual |
| 2 | Summary: android.content; ContentProviderClient; true; call; ; ; Argument[this]; ReturnValue; taint; manual |
| 3 | Summary: android.content; ContentProviderClient; true; canonicalize; ; ; Argument[this]; ReturnValue; taint; manual |
| 4 | Summary: android.content; ContentProviderClient; true; getLocalContentProvider; ; ; Argument[this]; ReturnValue; taint; manual |
| 5 | Summary: android.content; ContentProviderClient; true; getStreamTypes; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: android.content; ContentProviderClient; true; insert; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: android.content; ContentProviderClient; true; query; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: android.content; ContentProviderClient; true; uncanonicalize; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[0]; ReturnValue; taint; manual |
| 11 | Summary: android.content; ContentProviderOperation; false; getUri; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: android.content; ContentProviderOperation; false; newAssertQuery; ; ; Argument[0]; ReturnValue; taint; manual |
| 13 | Summary: android.content; ContentProviderOperation; false; newCall; ; ; Argument[0]; ReturnValue; taint; manual |
| 14 | Summary: android.content; ContentProviderOperation; false; newDelete; ; ; Argument[0]; ReturnValue; taint; manual |
| 15 | Summary: android.content; ContentProviderOperation; false; newInsert; ; ; Argument[0]; ReturnValue; taint; manual |
| 16 | Summary: android.content; ContentProviderOperation; false; newUpdate; ; ; Argument[0]; ReturnValue; taint; manual |
| 17 | Summary: android.content; ContentProviderOperation; false; resolveExtrasBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
| 18 | Summary: android.content; ContentProviderOperation; false; resolveSelectionArgsBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
| 19 | Summary: android.content; ContentProviderOperation; false; resolveValueBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
| 20 | Summary: android.content; ContentProviderOperation$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual |
| 21 | Summary: android.content; ContentProviderOperation$Builder; false; withExceptionAllowed; ; ; Argument[this]; ReturnValue; value; manual |
| 22 | Summary: android.content; ContentProviderOperation$Builder; false; withExpectedCount; ; ; Argument[this]; ReturnValue; value; manual |
| 23 | Summary: android.content; ContentProviderOperation$Builder; false; withExtra; ; ; Argument[this]; ReturnValue; value; manual |
| 24 | Summary: android.content; ContentProviderOperation$Builder; false; withExtraBackReference; ; ; Argument[this]; ReturnValue; value; manual |
| 25 | Summary: android.content; ContentProviderOperation$Builder; false; withExtras; ; ; Argument[this]; ReturnValue; value; manual |
| 26 | Summary: android.content; ContentProviderOperation$Builder; false; withSelection; ; ; Argument[this]; ReturnValue; value; manual |
| 27 | Summary: android.content; ContentProviderOperation$Builder; false; withSelectionBackReference; ; ; Argument[this]; ReturnValue; value; manual |
| 28 | Summary: android.content; ContentProviderOperation$Builder; false; withValue; ; ; Argument[this]; ReturnValue; value; manual |
| 29 | Summary: android.content; ContentProviderOperation$Builder; false; withValueBackReference; ; ; Argument[this]; ReturnValue; value; manual |
| 30 | Summary: android.content; ContentProviderOperation$Builder; false; withValues; ; ; Argument[this]; ReturnValue; value; manual |
| 31 | Summary: android.content; ContentProviderOperation$Builder; false; withYieldAllowed; ; ; Argument[this]; ReturnValue; value; manual |
| 32 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Bundle); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.extras]; value; manual |
| 33 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Parcel); ; Argument[0]; Argument[this]; taint; manual |
| 34 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Throwable); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.exception]; value; manual |
| 35 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Uri); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.uri]; value; manual |
| 36 | Summary: android.content; ContentResolver; true; acquireContentProviderClient; ; ; Argument[0]; ReturnValue; taint; manual |
| 37 | Summary: android.content; ContentResolver; true; acquireUnstableContentProviderClient; ; ; Argument[0]; ReturnValue; taint; manual |
| 38 | Summary: android.content; ContentResolver; true; applyBatch; ; ; Argument[1]; ReturnValue; taint; manual |
| 39 | Summary: android.content; ContentResolver; true; call; ; ; Argument[0]; ReturnValue; taint; manual |
| 40 | Summary: android.content; ContentResolver; true; canonicalize; ; ; Argument[0]; ReturnValue; taint; manual |
| 41 | Summary: android.content; ContentResolver; true; getStreamTypes; ; ; Argument[0]; ReturnValue; taint; manual |
| 42 | Summary: android.content; ContentResolver; true; getType; ; ; Argument[0]; ReturnValue; taint; manual |
| 43 | Summary: android.content; ContentResolver; true; insert; ; ; Argument[0]; ReturnValue; taint; manual |
| 44 | Summary: android.content; ContentResolver; true; query; ; ; Argument[0]; ReturnValue; taint; manual |
| 45 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String); ; Argument[0]; ReturnValue; taint; manual |
| 46 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String,CancellationSignal); ; Argument[0]; ReturnValue; taint; manual |
| 47 | Summary: android.content; ContentResolver; true; uncanonicalize; ; ; Argument[0]; ReturnValue; taint; manual |
| 48 | Summary: android.content; ContentResolver; true; wrap; ; ; Argument[0]; ReturnValue; taint; manual |
| 49 | Summary: android.content; ContentValues; false; put; ; ; Argument[0]; Argument[this].MapKey; value; manual |
| 50 | Summary: android.content; ContentValues; false; put; ; ; Argument[1]; Argument[this].MapValue; value; manual |
| 51 | Summary: android.content; ContentValues; false; putAll; ; ; Argument[0].MapKey; Argument[this].MapKey; value; manual |
| 52 | Summary: android.content; ContentValues; false; putAll; ; ; Argument[0].MapValue; Argument[this].MapValue; value; manual |
| 53 | Summary: android.database; Cursor; true; copyStringToBuffer; ; ; Argument[this]; Argument[1]; taint; manual |
| 54 | Summary: android.database; Cursor; true; getBlob; ; ; Argument[this]; ReturnValue; taint; manual |
| 55 | Summary: android.database; Cursor; true; getColumnName; ; ; Argument[this]; ReturnValue; taint; manual |
| 56 | Summary: android.database; Cursor; true; getColumnNames; ; ; Argument[this]; ReturnValue; taint; manual |
| 57 | Summary: android.database; Cursor; true; getExtras; ; ; Argument[this]; ReturnValue; taint; manual |
| 58 | Summary: android.database; Cursor; true; getNotificationUri; ; ; Argument[this]; ReturnValue; taint; manual |
| 59 | Summary: android.database; Cursor; true; getNotificationUris; ; ; Argument[this]; ReturnValue; taint; manual |
| 60 | Summary: android.database; Cursor; true; getString; ; ; Argument[this]; ReturnValue; taint; manual |
| 61 | Summary: android.database; Cursor; true; respond; ; ; Argument[this]; ReturnValue; taint; manual |
| 62 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual |
| 63 | Summary: generatedtest; Test; false; newWithMapKeyDefault; (Object); ; Argument[0]; ReturnValue.MapKey; value; manual |
| 64 | Summary: generatedtest; Test; false; getMapValueDefault; (Object); ; Argument[0].MapValue; ReturnValue; value; manual |
| 65 | Summary: generatedtest; Test; false; getMapKeyDefault; (Object); ; Argument[0].MapKey; ReturnValue; value; manual |
edges
| Test.java:47:31:47:62 | (...)... : ContentProviderClient | Test.java:48:10:48:11 | in : ContentProviderClient | provenance | |
| Test.java:47:55:47:62 | source(...) : Object | Test.java:47:31:47:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:48:10:48:11 | in : ContentProviderClient | Test.java:48:10:48:28 | applyBatch(...) : ContentProviderResult[] | provenance | MaD:1 |
| Test.java:48:10:48:28 | applyBatch(...) : ContentProviderResult[] | Test.java:49:9:49:11 | out | provenance | |
| Test.java:54:31:54:62 | (...)... : ContentProviderClient | Test.java:55:10:55:11 | in : ContentProviderClient | provenance | |
| Test.java:54:55:54:62 | source(...) : Object | Test.java:54:31:54:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:55:10:55:11 | in : ContentProviderClient | Test.java:55:10:55:34 | applyBatch(...) : ContentProviderResult[] | provenance | MaD:1 |
| Test.java:55:10:55:34 | applyBatch(...) : ContentProviderResult[] | Test.java:56:9:56:11 | out | provenance | |
| Test.java:61:31:61:62 | (...)... : ContentProviderClient | Test.java:62:10:62:11 | in : ContentProviderClient | provenance | |
| Test.java:61:55:61:62 | source(...) : Object | Test.java:61:31:61:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:62:10:62:11 | in : ContentProviderClient | Test.java:62:10:62:34 | call(...) : Bundle | provenance | MaD:2 |
| Test.java:62:10:62:34 | call(...) : Bundle | Test.java:63:9:63:11 | out | provenance | |
| Test.java:68:31:68:62 | (...)... : ContentProviderClient | Test.java:69:10:69:11 | in : ContentProviderClient | provenance | |
| Test.java:68:55:68:62 | source(...) : Object | Test.java:68:31:68:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:69:10:69:11 | in : ContentProviderClient | Test.java:69:10:69:40 | call(...) : Bundle | provenance | MaD:2 |
| Test.java:69:10:69:40 | call(...) : Bundle | Test.java:70:9:70:11 | out | provenance | |
| Test.java:75:31:75:62 | (...)... : ContentProviderClient | Test.java:76:10:76:11 | in : ContentProviderClient | provenance | |
| Test.java:75:55:75:62 | source(...) : Object | Test.java:75:31:75:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:76:10:76:11 | in : ContentProviderClient | Test.java:76:10:76:30 | canonicalize(...) : Uri | provenance | MaD:3 |
| Test.java:76:10:76:30 | canonicalize(...) : Uri | Test.java:77:9:77:11 | out | provenance | |
| Test.java:82:31:82:62 | (...)... : ContentProviderClient | Test.java:83:10:83:11 | in : ContentProviderClient | provenance | |
| Test.java:82:55:82:62 | source(...) : Object | Test.java:82:31:82:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:83:10:83:11 | in : ContentProviderClient | Test.java:83:10:83:37 | getLocalContentProvider(...) : ContentProvider | provenance | MaD:4 |
| Test.java:83:10:83:37 | getLocalContentProvider(...) : ContentProvider | Test.java:84:9:84:11 | out | provenance | |
| Test.java:89:31:89:62 | (...)... : ContentProviderClient | Test.java:90:10:90:11 | in : ContentProviderClient | provenance | |
| Test.java:89:55:89:62 | source(...) : Object | Test.java:89:31:89:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:90:10:90:11 | in : ContentProviderClient | Test.java:90:10:90:38 | getStreamTypes(...) : String[] | provenance | MaD:5 |
| Test.java:90:10:90:38 | getStreamTypes(...) : String[] | Test.java:91:9:91:11 | out | provenance | |
| Test.java:96:31:96:62 | (...)... : ContentProviderClient | Test.java:97:10:97:11 | in : ContentProviderClient | provenance | |
| Test.java:96:55:96:62 | source(...) : Object | Test.java:96:31:96:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:97:10:97:11 | in : ContentProviderClient | Test.java:97:10:97:30 | insert(...) : Uri | provenance | MaD:6 |
| Test.java:97:10:97:30 | insert(...) : Uri | Test.java:98:9:98:11 | out | provenance | |
| Test.java:103:31:103:62 | (...)... : ContentProviderClient | Test.java:104:10:104:11 | in : ContentProviderClient | provenance | |
| Test.java:103:55:103:62 | source(...) : Object | Test.java:103:31:103:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:104:10:104:11 | in : ContentProviderClient | Test.java:104:10:104:36 | insert(...) : Uri | provenance | MaD:6 |
| Test.java:104:10:104:36 | insert(...) : Uri | Test.java:105:9:105:11 | out | provenance | |
| Test.java:110:31:110:62 | (...)... : ContentProviderClient | Test.java:111:10:111:11 | in : ContentProviderClient | provenance | |
| Test.java:110:55:110:62 | source(...) : Object | Test.java:110:31:110:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:111:10:111:11 | in : ContentProviderClient | Test.java:111:10:111:41 | query(...) : Cursor | provenance | MaD:7 |
| Test.java:111:10:111:41 | query(...) : Cursor | Test.java:112:9:112:11 | out | provenance | |
| Test.java:117:31:117:62 | (...)... : ContentProviderClient | Test.java:118:10:118:11 | in : ContentProviderClient | provenance | |
| Test.java:117:55:117:62 | source(...) : Object | Test.java:117:31:117:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:118:10:118:11 | in : ContentProviderClient | Test.java:118:10:118:47 | query(...) : Cursor | provenance | MaD:7 |
| Test.java:118:10:118:47 | query(...) : Cursor | Test.java:119:9:119:11 | out | provenance | |
| Test.java:124:31:124:62 | (...)... : ContentProviderClient | Test.java:125:10:125:11 | in : ContentProviderClient | provenance | |
| Test.java:124:55:124:62 | source(...) : Object | Test.java:124:31:124:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:125:10:125:11 | in : ContentProviderClient | Test.java:125:10:125:53 | query(...) : Cursor | provenance | MaD:7 |
| Test.java:125:10:125:53 | query(...) : Cursor | Test.java:126:9:126:11 | out | provenance | |
| Test.java:131:31:131:62 | (...)... : ContentProviderClient | Test.java:132:10:132:11 | in : ContentProviderClient | provenance | |
| Test.java:131:55:131:62 | source(...) : Object | Test.java:131:31:131:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:132:10:132:11 | in : ContentProviderClient | Test.java:132:10:132:32 | uncanonicalize(...) : Uri | provenance | MaD:8 |
| Test.java:132:10:132:32 | uncanonicalize(...) : Uri | Test.java:133:9:133:11 | out | provenance | |
| Test.java:138:42:138:84 | (...)... : Builder | Test.java:139:10:139:11 | in : Builder | provenance | |
| Test.java:138:77:138:84 | source(...) : Object | Test.java:138:42:138:84 | (...)... : Builder | provenance | |
| Test.java:139:10:139:11 | in : Builder | Test.java:139:10:139:19 | build(...) : ContentProviderOperation | provenance | MaD:20 |
| Test.java:139:10:139:19 | build(...) : ContentProviderOperation | Test.java:140:9:140:11 | out | provenance | |
| Test.java:145:42:145:84 | (...)... : Builder | Test.java:146:10:146:11 | in : Builder | provenance | |
| Test.java:145:77:145:84 | source(...) : Object | Test.java:145:42:145:84 | (...)... : Builder | provenance | |
| Test.java:146:10:146:11 | in : Builder | Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | provenance | MaD:21 |
| Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | Test.java:147:9:147:11 | out | provenance | |
| Test.java:152:42:152:84 | (...)... : Builder | Test.java:153:10:153:11 | in : Builder | provenance | |
| Test.java:152:77:152:84 | source(...) : Object | Test.java:152:42:152:84 | (...)... : Builder | provenance | |
| Test.java:153:10:153:11 | in : Builder | Test.java:153:10:153:32 | withExpectedCount(...) : Builder | provenance | MaD:22 |
| Test.java:153:10:153:32 | withExpectedCount(...) : Builder | Test.java:154:9:154:11 | out | provenance | |
| Test.java:159:42:159:84 | (...)... : Builder | Test.java:160:10:160:11 | in : Builder | provenance | |
| Test.java:159:77:159:84 | source(...) : Object | Test.java:159:42:159:84 | (...)... : Builder | provenance | |
| Test.java:160:10:160:11 | in : Builder | Test.java:160:10:160:33 | withExtra(...) : Builder | provenance | MaD:23 |
| Test.java:160:10:160:33 | withExtra(...) : Builder | Test.java:161:9:161:11 | out | provenance | |
| Test.java:166:42:166:84 | (...)... : Builder | Test.java:167:10:167:11 | in : Builder | provenance | |
| Test.java:166:77:166:84 | source(...) : Object | Test.java:166:42:166:84 | (...)... : Builder | provenance | |
| Test.java:167:10:167:11 | in : Builder | Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | provenance | MaD:24 |
| Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | Test.java:168:9:168:11 | out | provenance | |
| Test.java:173:42:173:84 | (...)... : Builder | Test.java:174:10:174:11 | in : Builder | provenance | |
| Test.java:173:77:173:84 | source(...) : Object | Test.java:173:42:173:84 | (...)... : Builder | provenance | |
| Test.java:174:10:174:11 | in : Builder | Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | provenance | MaD:24 |
| Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | Test.java:175:9:175:11 | out | provenance | |
| Test.java:180:42:180:84 | (...)... : Builder | Test.java:181:10:181:11 | in : Builder | provenance | |
| Test.java:180:77:180:84 | source(...) : Object | Test.java:180:42:180:84 | (...)... : Builder | provenance | |
| Test.java:181:10:181:11 | in : Builder | Test.java:181:10:181:28 | withExtras(...) : Builder | provenance | MaD:25 |
| Test.java:181:10:181:28 | withExtras(...) : Builder | Test.java:182:9:182:11 | out | provenance | |
| Test.java:187:42:187:84 | (...)... : Builder | Test.java:188:10:188:11 | in : Builder | provenance | |
| Test.java:187:77:187:84 | source(...) : Object | Test.java:187:42:187:84 | (...)... : Builder | provenance | |
| Test.java:188:10:188:11 | in : Builder | Test.java:188:10:188:37 | withSelection(...) : Builder | provenance | MaD:26 |
| Test.java:188:10:188:37 | withSelection(...) : Builder | Test.java:189:9:189:11 | out | provenance | |
| Test.java:194:42:194:84 | (...)... : Builder | Test.java:195:10:195:11 | in : Builder | provenance | |
| Test.java:194:77:194:84 | source(...) : Object | Test.java:194:42:194:84 | (...)... : Builder | provenance | |
| Test.java:195:10:195:11 | in : Builder | Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | provenance | MaD:27 |
| Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | Test.java:196:9:196:11 | out | provenance | |
| Test.java:201:42:201:84 | (...)... : Builder | Test.java:202:10:202:11 | in : Builder | provenance | |
| Test.java:201:77:201:84 | source(...) : Object | Test.java:201:42:201:84 | (...)... : Builder | provenance | |
| Test.java:202:10:202:11 | in : Builder | Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | provenance | MaD:27 |
| Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | Test.java:203:9:203:11 | out | provenance | |
| Test.java:208:42:208:84 | (...)... : Builder | Test.java:209:10:209:11 | in : Builder | provenance | |
| Test.java:208:77:208:84 | source(...) : Object | Test.java:208:42:208:84 | (...)... : Builder | provenance | |
| Test.java:209:10:209:11 | in : Builder | Test.java:209:10:209:33 | withValue(...) : Builder | provenance | MaD:28 |
| Test.java:209:10:209:33 | withValue(...) : Builder | Test.java:210:9:210:11 | out | provenance | |
| Test.java:215:42:215:84 | (...)... : Builder | Test.java:216:10:216:11 | in : Builder | provenance | |
| Test.java:215:77:215:84 | source(...) : Object | Test.java:215:42:215:84 | (...)... : Builder | provenance | |
| Test.java:216:10:216:11 | in : Builder | Test.java:216:10:216:43 | withValueBackReference(...) : Builder | provenance | MaD:29 |
| Test.java:216:10:216:43 | withValueBackReference(...) : Builder | Test.java:217:9:217:11 | out | provenance | |
| Test.java:222:42:222:84 | (...)... : Builder | Test.java:223:10:223:11 | in : Builder | provenance | |
| Test.java:222:77:222:84 | source(...) : Object | Test.java:222:42:222:84 | (...)... : Builder | provenance | |
| Test.java:223:10:223:11 | in : Builder | Test.java:223:10:223:49 | withValueBackReference(...) : Builder | provenance | MaD:29 |
| Test.java:223:10:223:49 | withValueBackReference(...) : Builder | Test.java:224:9:224:11 | out | provenance | |
| Test.java:229:42:229:84 | (...)... : Builder | Test.java:230:10:230:11 | in : Builder | provenance | |
| Test.java:229:77:229:84 | source(...) : Object | Test.java:229:42:229:84 | (...)... : Builder | provenance | |
| Test.java:230:10:230:11 | in : Builder | Test.java:230:10:230:28 | withValues(...) : Builder | provenance | MaD:30 |
| Test.java:230:10:230:28 | withValues(...) : Builder | Test.java:231:9:231:11 | out | provenance | |
| Test.java:236:42:236:84 | (...)... : Builder | Test.java:237:10:237:11 | in : Builder | provenance | |
| Test.java:236:77:236:84 | source(...) : Object | Test.java:236:42:236:84 | (...)... : Builder | provenance | |
| Test.java:237:10:237:11 | in : Builder | Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | provenance | MaD:31 |
| Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | Test.java:238:9:238:11 | out | provenance | |
| Test.java:243:34:243:68 | (...)... : ContentProviderOperation | Test.java:244:10:244:11 | in : ContentProviderOperation | provenance | |
| Test.java:243:61:243:68 | source(...) : Object | Test.java:243:34:243:68 | (...)... : ContentProviderOperation | provenance | |
| Test.java:244:10:244:11 | in : ContentProviderOperation | Test.java:244:10:244:32 | apply(...) : ContentProviderResult | provenance | MaD:9 |
| Test.java:244:10:244:32 | apply(...) : ContentProviderResult | Test.java:245:9:245:11 | out | provenance | |
| Test.java:250:25:250:50 | (...)... : ContentProvider | Test.java:252:25:252:26 | in : ContentProvider | provenance | |
| Test.java:250:43:250:50 | source(...) : Object | Test.java:250:25:250:50 | (...)... : ContentProvider | provenance | |
| Test.java:252:10:252:36 | apply(...) : ContentProviderResult | Test.java:253:9:253:11 | out | provenance | |
| Test.java:252:25:252:26 | in : ContentProvider | Test.java:252:10:252:36 | apply(...) : ContentProviderResult | provenance | MaD:10 |
| Test.java:258:34:258:68 | (...)... : ContentProviderOperation | Test.java:259:10:259:11 | in : ContentProviderOperation | provenance | |
| Test.java:258:61:258:68 | source(...) : Object | Test.java:258:34:258:68 | (...)... : ContentProviderOperation | provenance | |
| Test.java:259:10:259:11 | in : ContentProviderOperation | Test.java:259:10:259:20 | getUri(...) : Uri | provenance | MaD:11 |
| Test.java:259:10:259:20 | getUri(...) : Uri | Test.java:260:9:260:11 | out | provenance | |
| Test.java:265:13:265:26 | (...)... : Uri | Test.java:266:50:266:51 | in : Uri | provenance | |
| Test.java:265:19:265:26 | source(...) : Object | Test.java:265:13:265:26 | (...)... : Uri | provenance | |
| Test.java:266:10:266:52 | newAssertQuery(...) : Builder | Test.java:267:9:267:11 | out | provenance | |
| Test.java:266:50:266:51 | in : Uri | Test.java:266:10:266:52 | newAssertQuery(...) : Builder | provenance | MaD:12 |
| Test.java:272:13:272:26 | (...)... : Uri | Test.java:273:43:273:44 | in : Uri | provenance | |
| Test.java:272:19:272:26 | source(...) : Object | Test.java:272:13:272:26 | (...)... : Uri | provenance | |
| Test.java:273:10:273:57 | newCall(...) : Builder | Test.java:274:9:274:11 | out | provenance | |
| Test.java:273:43:273:44 | in : Uri | Test.java:273:10:273:57 | newCall(...) : Builder | provenance | MaD:13 |
| Test.java:279:13:279:26 | (...)... : Uri | Test.java:280:45:280:46 | in : Uri | provenance | |
| Test.java:279:19:279:26 | source(...) : Object | Test.java:279:13:279:26 | (...)... : Uri | provenance | |
| Test.java:280:10:280:47 | newDelete(...) : Builder | Test.java:281:9:281:11 | out | provenance | |
| Test.java:280:45:280:46 | in : Uri | Test.java:280:10:280:47 | newDelete(...) : Builder | provenance | MaD:14 |
| Test.java:286:13:286:26 | (...)... : Uri | Test.java:287:45:287:46 | in : Uri | provenance | |
| Test.java:286:19:286:26 | source(...) : Object | Test.java:286:13:286:26 | (...)... : Uri | provenance | |
| Test.java:287:10:287:47 | newInsert(...) : Builder | Test.java:288:9:288:11 | out | provenance | |
| Test.java:287:45:287:46 | in : Uri | Test.java:287:10:287:47 | newInsert(...) : Builder | provenance | MaD:15 |
| Test.java:293:13:293:26 | (...)... : Uri | Test.java:294:45:294:46 | in : Uri | provenance | |
| Test.java:293:19:293:26 | source(...) : Object | Test.java:293:13:293:26 | (...)... : Uri | provenance | |
| Test.java:294:10:294:47 | newUpdate(...) : Builder | Test.java:295:9:295:11 | out | provenance | |
| Test.java:294:45:294:46 | in : Uri | Test.java:294:10:294:47 | newUpdate(...) : Builder | provenance | MaD:16 |
| Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | Test.java:302:47:302:48 | in : ContentProviderResult[] | provenance | |
| Test.java:300:59:300:66 | source(...) : Object | Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | provenance | |
| Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | Test.java:303:9:303:11 | out | provenance | |
| Test.java:302:47:302:48 | in : ContentProviderResult[] | Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | provenance | MaD:17 |
| Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | Test.java:310:54:310:55 | in : ContentProviderResult[] | provenance | |
| Test.java:308:59:308:66 | source(...) : Object | Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | provenance | |
| Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | Test.java:311:9:311:11 | out | provenance | |
| Test.java:310:54:310:55 | in : ContentProviderResult[] | Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | provenance | MaD:18 |
| Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | Test.java:318:46:318:47 | in : ContentProviderResult[] | provenance | |
| Test.java:316:59:316:66 | source(...) : Object | Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | provenance | |
| Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | Test.java:319:9:319:11 | out | provenance | |
| Test.java:318:46:318:47 | in : ContentProviderResult[] | Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | provenance | MaD:19 |
| Test.java:324:16:324:32 | (...)... : Bundle | Test.java:325:36:325:37 | in : Bundle | provenance | |
| Test.java:324:25:324:32 | source(...) : Object | Test.java:324:16:324:32 | (...)... : Bundle | provenance | |
| Test.java:325:10:325:38 | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | Test.java:326:9:326:11 | out : ContentProviderResult [extras] : Bundle | provenance | |
| Test.java:325:36:325:37 | in : Bundle | Test.java:325:10:325:38 | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | provenance | MaD:32 |
| Test.java:326:9:326:11 | out : ContentProviderResult [extras] : Bundle | Test.java:326:9:326:18 | out.extras | provenance | |
| Test.java:331:16:331:32 | (...)... : Parcel | Test.java:332:36:332:37 | in : Parcel | provenance | |
| Test.java:331:25:331:32 | source(...) : Object | Test.java:331:16:331:32 | (...)... : Parcel | provenance | |
| Test.java:332:10:332:38 | new ContentProviderResult(...) : ContentProviderResult | Test.java:333:9:333:11 | out | provenance | |
| Test.java:332:36:332:37 | in : Parcel | Test.java:332:10:332:38 | new ContentProviderResult(...) : ContentProviderResult | provenance | MaD:33 |
| Test.java:338:19:338:38 | (...)... : Throwable | Test.java:339:36:339:37 | in : Throwable | provenance | |
| Test.java:338:31:338:38 | source(...) : Object | Test.java:338:19:338:38 | (...)... : Throwable | provenance | |
| Test.java:339:10:339:38 | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable | Test.java:340:9:340:11 | out : ContentProviderResult [exception] : Throwable | provenance | |
| Test.java:339:36:339:37 | in : Throwable | Test.java:339:10:339:38 | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable | provenance | MaD:34 |
| Test.java:340:9:340:11 | out : ContentProviderResult [exception] : Throwable | Test.java:340:9:340:21 | out.exception | provenance | |
| Test.java:345:13:345:26 | (...)... : Uri | Test.java:346:36:346:37 | in : Uri | provenance | |
| Test.java:345:19:345:26 | source(...) : Object | Test.java:345:13:345:26 | (...)... : Uri | provenance | |
| Test.java:346:10:346:38 | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri | Test.java:347:9:347:11 | out : ContentProviderResult [uri] : Uri | provenance | |
| Test.java:346:36:346:37 | in : Uri | Test.java:346:10:346:38 | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri | provenance | MaD:35 |
| Test.java:347:9:347:11 | out : ContentProviderResult [uri] : Uri | Test.java:347:9:347:15 | out.uri | provenance | |
| Test.java:352:16:352:32 | (...)... : String | Test.java:354:48:354:49 | in : String | provenance | |
| Test.java:352:25:352:32 | source(...) : Object | Test.java:352:16:352:32 | (...)... : String | provenance | |
| Test.java:354:10:354:50 | acquireContentProviderClient(...) : ContentProviderClient | Test.java:355:9:355:11 | out | provenance | |
| Test.java:354:48:354:49 | in : String | Test.java:354:10:354:50 | acquireContentProviderClient(...) : ContentProviderClient | provenance | MaD:36 |
| Test.java:360:13:360:26 | (...)... : Uri | Test.java:362:48:362:49 | in : Uri | provenance | |
| Test.java:360:19:360:26 | source(...) : Object | Test.java:360:13:360:26 | (...)... : Uri | provenance | |
| Test.java:362:10:362:50 | acquireContentProviderClient(...) : ContentProviderClient | Test.java:363:9:363:11 | out | provenance | |
| Test.java:362:48:362:49 | in : Uri | Test.java:362:10:362:50 | acquireContentProviderClient(...) : ContentProviderClient | provenance | MaD:36 |
| Test.java:368:16:368:32 | (...)... : String | Test.java:370:56:370:57 | in : String | provenance | |
| Test.java:368:25:368:32 | source(...) : Object | Test.java:368:16:368:32 | (...)... : String | provenance | |
| Test.java:370:10:370:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | Test.java:371:9:371:11 | out | provenance | |
| Test.java:370:56:370:57 | in : String | Test.java:370:10:370:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | provenance | MaD:37 |
| Test.java:376:13:376:26 | (...)... : Uri | Test.java:378:56:378:57 | in : Uri | provenance | |
| Test.java:376:19:376:26 | source(...) : Object | Test.java:376:13:376:26 | (...)... : Uri | provenance | |
| Test.java:378:10:378:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | Test.java:379:9:379:11 | out | provenance | |
| Test.java:378:56:378:57 | in : Uri | Test.java:378:10:378:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | provenance | MaD:37 |
| Test.java:384:19:384:38 | (...)... : ArrayList | Test.java:386:36:386:37 | in : ArrayList | provenance | |
| Test.java:384:31:384:38 | source(...) : Object | Test.java:384:19:384:38 | (...)... : ArrayList | provenance | |
| Test.java:386:10:386:38 | applyBatch(...) : ContentProviderResult[] | Test.java:387:9:387:11 | out | provenance | |
| Test.java:386:36:386:37 | in : ArrayList | Test.java:386:10:386:38 | applyBatch(...) : ContentProviderResult[] | provenance | MaD:38 |
| Test.java:392:16:392:32 | (...)... : String | Test.java:394:24:394:25 | in : String | provenance | |
| Test.java:392:25:392:32 | source(...) : Object | Test.java:392:16:392:32 | (...)... : String | provenance | |
| Test.java:394:10:394:71 | call(...) : Bundle | Test.java:395:9:395:11 | out | provenance | |
| Test.java:394:24:394:25 | in : String | Test.java:394:10:394:71 | call(...) : Bundle | provenance | MaD:39 |
| Test.java:400:13:400:26 | (...)... : Uri | Test.java:402:24:402:25 | in : Uri | provenance | |
| Test.java:400:19:400:26 | source(...) : Object | Test.java:400:13:400:26 | (...)... : Uri | provenance | |
| Test.java:402:10:402:71 | call(...) : Bundle | Test.java:403:9:403:11 | out | provenance | |
| Test.java:402:24:402:25 | in : Uri | Test.java:402:10:402:71 | call(...) : Bundle | provenance | MaD:39 |
| Test.java:408:13:408:26 | (...)... : Uri | Test.java:410:32:410:33 | in : Uri | provenance | |
| Test.java:408:19:408:26 | source(...) : Object | Test.java:408:13:408:26 | (...)... : Uri | provenance | |
| Test.java:410:10:410:34 | canonicalize(...) : Uri | Test.java:411:9:411:11 | out | provenance | |
| Test.java:410:32:410:33 | in : Uri | Test.java:410:10:410:34 | canonicalize(...) : Uri | provenance | MaD:40 |
| Test.java:416:13:416:26 | (...)... : Uri | Test.java:418:34:418:35 | in : Uri | provenance | |
| Test.java:416:19:416:26 | source(...) : Object | Test.java:416:13:416:26 | (...)... : Uri | provenance | |
| Test.java:418:10:418:42 | getStreamTypes(...) : String[] | Test.java:419:9:419:11 | out | provenance | |
| Test.java:418:34:418:35 | in : Uri | Test.java:418:10:418:42 | getStreamTypes(...) : String[] | provenance | MaD:41 |
| Test.java:424:13:424:26 | (...)... : Uri | Test.java:426:27:426:28 | in : Uri | provenance | |
| Test.java:424:19:424:26 | source(...) : Object | Test.java:424:13:424:26 | (...)... : Uri | provenance | |
| Test.java:426:10:426:29 | getType(...) : String | Test.java:427:9:427:11 | out | provenance | |
| Test.java:426:27:426:28 | in : Uri | Test.java:426:10:426:29 | getType(...) : String | provenance | MaD:42 |
| Test.java:432:13:432:26 | (...)... : Uri | Test.java:434:26:434:27 | in : Uri | provenance | |
| Test.java:432:19:432:26 | source(...) : Object | Test.java:432:13:432:26 | (...)... : Uri | provenance | |
| Test.java:434:10:434:34 | insert(...) : Uri | Test.java:435:9:435:11 | out | provenance | |
| Test.java:434:26:434:27 | in : Uri | Test.java:434:10:434:34 | insert(...) : Uri | provenance | MaD:43 |
| Test.java:440:13:440:26 | (...)... : Uri | Test.java:442:26:442:27 | in : Uri | provenance | |
| Test.java:440:19:440:26 | source(...) : Object | Test.java:440:13:440:26 | (...)... : Uri | provenance | |
| Test.java:442:10:442:40 | insert(...) : Uri | Test.java:443:9:443:11 | out | provenance | |
| Test.java:442:26:442:27 | in : Uri | Test.java:442:10:442:40 | insert(...) : Uri | provenance | MaD:43 |
| Test.java:448:13:448:26 | (...)... : Uri | Test.java:450:25:450:26 | in : Uri | provenance | |
| Test.java:448:19:448:26 | source(...) : Object | Test.java:448:13:448:26 | (...)... : Uri | provenance | |
| Test.java:450:10:450:45 | query(...) : Cursor | Test.java:451:9:451:11 | out | provenance | |
| Test.java:450:25:450:26 | in : Uri | Test.java:450:10:450:45 | query(...) : Cursor | provenance | MaD:44 |
| Test.java:456:13:456:26 | (...)... : Uri | Test.java:458:25:458:26 | in : Uri | provenance | |
| Test.java:456:19:456:26 | source(...) : Object | Test.java:456:13:456:26 | (...)... : Uri | provenance | |
| Test.java:458:10:458:51 | query(...) : Cursor | Test.java:459:9:459:11 | out | provenance | |
| Test.java:458:25:458:26 | in : Uri | Test.java:458:10:458:51 | query(...) : Cursor | provenance | MaD:44 |
| Test.java:458:25:458:26 | in : Uri | Test.java:458:10:458:51 | query(...) : Cursor | provenance | MaD:45 |
| Test.java:464:13:464:26 | (...)... : Uri | Test.java:466:25:466:26 | in : Uri | provenance | |
| Test.java:464:19:464:26 | source(...) : Object | Test.java:464:13:464:26 | (...)... : Uri | provenance | |
| Test.java:466:10:466:57 | query(...) : Cursor | Test.java:467:9:467:11 | out | provenance | |
| Test.java:466:25:466:26 | in : Uri | Test.java:466:10:466:57 | query(...) : Cursor | provenance | MaD:44 |
| Test.java:466:25:466:26 | in : Uri | Test.java:466:10:466:57 | query(...) : Cursor | provenance | MaD:46 |
| Test.java:472:13:472:26 | (...)... : Uri | Test.java:474:34:474:35 | in : Uri | provenance | |
| Test.java:472:19:472:26 | source(...) : Object | Test.java:472:13:472:26 | (...)... : Uri | provenance | |
| Test.java:474:10:474:36 | uncanonicalize(...) : Uri | Test.java:475:9:475:11 | out | provenance | |
| Test.java:474:34:474:35 | in : Uri | Test.java:474:10:474:36 | uncanonicalize(...) : Uri | provenance | MaD:47 |
| Test.java:480:25:480:50 | (...)... : ContentProvider | Test.java:481:31:481:32 | in : ContentProvider | provenance | |
| Test.java:480:43:480:50 | source(...) : Object | Test.java:480:25:480:50 | (...)... : ContentProvider | provenance | |
| Test.java:481:10:481:33 | wrap(...) : ContentResolver | Test.java:482:9:482:11 | out | provenance | |
| Test.java:481:31:481:32 | in : ContentProvider | Test.java:481:10:481:33 | wrap(...) : ContentResolver | provenance | MaD:48 |
| Test.java:487:31:487:62 | (...)... : ContentProviderClient | Test.java:488:31:488:32 | in : ContentProviderClient | provenance | |
| Test.java:487:55:487:62 | source(...) : Object | Test.java:487:31:487:62 | (...)... : ContentProviderClient | provenance | |
| Test.java:488:10:488:33 | wrap(...) : ContentResolver | Test.java:489:9:489:11 | out | provenance | |
| Test.java:488:31:488:32 | in : ContentProviderClient | Test.java:488:10:488:33 | wrap(...) : ContentResolver | provenance | MaD:48 |
| Test.java:494:16:494:32 | (...)... : String | Test.java:495:12:495:13 | in : String | provenance | |
| Test.java:494:25:494:32 | source(...) : Object | Test.java:494:16:494:32 | (...)... : String | provenance | |
| Test.java:495:4:495:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:496:26:496:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:495:12:495:13 | in : String | Test.java:495:4:495:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:496:26:496:28 | out : ContentValues [<map.key>] : String | Test.java:496:9:496:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:501:16:501:32 | (...)... : String | Test.java:502:12:502:13 | in : String | provenance | |
| Test.java:501:25:501:32 | source(...) : Object | Test.java:501:16:501:32 | (...)... : String | provenance | |
| Test.java:502:4:502:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:503:26:503:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:502:12:502:13 | in : String | Test.java:502:4:502:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:503:26:503:28 | out : ContentValues [<map.key>] : String | Test.java:503:9:503:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:508:16:508:32 | (...)... : String | Test.java:509:12:509:13 | in : String | provenance | |
| Test.java:508:25:508:32 | source(...) : Object | Test.java:508:16:508:32 | (...)... : String | provenance | |
| Test.java:509:4:509:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:510:26:510:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:509:12:509:13 | in : String | Test.java:509:4:509:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:510:26:510:28 | out : ContentValues [<map.key>] : String | Test.java:510:9:510:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:515:16:515:32 | (...)... : String | Test.java:516:12:516:13 | in : String | provenance | |
| Test.java:515:25:515:32 | source(...) : Object | Test.java:515:16:515:32 | (...)... : String | provenance | |
| Test.java:516:4:516:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:517:26:517:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:516:12:516:13 | in : String | Test.java:516:4:516:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:517:26:517:28 | out : ContentValues [<map.key>] : String | Test.java:517:9:517:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:522:16:522:32 | (...)... : String | Test.java:523:12:523:13 | in : String | provenance | |
| Test.java:522:25:522:32 | source(...) : Object | Test.java:522:16:522:32 | (...)... : String | provenance | |
| Test.java:523:4:523:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:524:26:524:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:523:12:523:13 | in : String | Test.java:523:4:523:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:524:26:524:28 | out : ContentValues [<map.key>] : String | Test.java:524:9:524:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:529:16:529:32 | (...)... : String | Test.java:530:12:530:13 | in : String | provenance | |
| Test.java:529:25:529:32 | source(...) : Object | Test.java:529:16:529:32 | (...)... : String | provenance | |
| Test.java:530:4:530:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:531:26:531:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:530:12:530:13 | in : String | Test.java:530:4:530:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:531:26:531:28 | out : ContentValues [<map.key>] : String | Test.java:531:9:531:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:536:16:536:32 | (...)... : String | Test.java:537:12:537:13 | in : String | provenance | |
| Test.java:536:25:536:32 | source(...) : Object | Test.java:536:16:536:32 | (...)... : String | provenance | |
| Test.java:537:4:537:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:538:26:538:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:537:12:537:13 | in : String | Test.java:537:4:537:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:538:26:538:28 | out : ContentValues [<map.key>] : String | Test.java:538:9:538:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:543:16:543:32 | (...)... : String | Test.java:544:12:544:13 | in : String | provenance | |
| Test.java:543:25:543:32 | source(...) : Object | Test.java:543:16:543:32 | (...)... : String | provenance | |
| Test.java:544:4:544:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:545:26:545:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:544:12:544:13 | in : String | Test.java:544:4:544:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:545:26:545:28 | out : ContentValues [<map.key>] : String | Test.java:545:9:545:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:550:16:550:32 | (...)... : String | Test.java:551:12:551:13 | in : String | provenance | |
| Test.java:550:25:550:32 | source(...) : Object | Test.java:550:16:550:32 | (...)... : String | provenance | |
| Test.java:551:4:551:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:552:26:552:28 | out : ContentValues [<map.key>] : String | provenance | |
| Test.java:551:12:551:13 | in : String | Test.java:551:4:551:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
| Test.java:552:26:552:28 | out : ContentValues [<map.key>] : String | Test.java:552:9:552:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:557:17:557:34 | (...)... : Boolean | Test.java:558:27:558:28 | in : Boolean | provenance | |
| Test.java:557:27:557:34 | source(...) : Object | Test.java:557:17:557:34 | (...)... : Boolean | provenance | |
| Test.java:558:4:558:6 | out [post update] : ContentValues [<map.value>] : Boolean | Test.java:559:28:559:30 | out : ContentValues [<map.value>] : Boolean | provenance | |
| Test.java:558:27:558:28 | in : Boolean | Test.java:558:4:558:6 | out [post update] : ContentValues [<map.value>] : Boolean | provenance | MaD:50 |
| Test.java:559:28:559:30 | out : ContentValues [<map.value>] : Boolean | Test.java:559:9:559:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:564:14:564:28 | (...)... : Number | Test.java:565:27:565:28 | in : Number | provenance | |
| Test.java:564:21:564:28 | source(...) : Object | Test.java:564:14:564:28 | (...)... : Number | provenance | |
| Test.java:565:4:565:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:566:28:566:30 | out : ContentValues [<map.value>] : Number | provenance | |
| Test.java:565:27:565:28 | in : Number | Test.java:565:4:565:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
| Test.java:566:28:566:30 | out : ContentValues [<map.value>] : Number | Test.java:566:9:566:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:571:16:571:32 | (...)... : Number | Test.java:572:27:572:28 | in : Number | provenance | |
| Test.java:571:25:571:32 | source(...) : Object | Test.java:571:16:571:32 | (...)... : Number | provenance | |
| Test.java:572:4:572:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:573:28:573:30 | out : ContentValues [<map.value>] : Number | provenance | |
| Test.java:572:27:572:28 | in : Number | Test.java:572:4:572:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
| Test.java:573:28:573:30 | out : ContentValues [<map.value>] : Number | Test.java:573:9:573:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:578:15:578:30 | (...)... : Number | Test.java:579:27:579:28 | in : Number | provenance | |
| Test.java:578:23:578:30 | source(...) : Object | Test.java:578:15:578:30 | (...)... : Number | provenance | |
| Test.java:579:4:579:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:580:28:580:30 | out : ContentValues [<map.value>] : Number | provenance | |
| Test.java:579:27:579:28 | in : Number | Test.java:579:4:579:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
| Test.java:580:28:580:30 | out : ContentValues [<map.value>] : Number | Test.java:580:9:580:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:585:17:585:34 | (...)... : Number | Test.java:586:27:586:28 | in : Number | provenance | |
| Test.java:585:27:585:34 | source(...) : Object | Test.java:585:17:585:34 | (...)... : Number | provenance | |
| Test.java:586:4:586:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:587:28:587:30 | out : ContentValues [<map.value>] : Number | provenance | |
| Test.java:586:27:586:28 | in : Number | Test.java:586:4:586:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
| Test.java:587:28:587:30 | out : ContentValues [<map.value>] : Number | Test.java:587:9:587:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:592:14:592:28 | (...)... : Number | Test.java:593:27:593:28 | in : Number | provenance | |
| Test.java:592:21:592:28 | source(...) : Object | Test.java:592:14:592:28 | (...)... : Number | provenance | |
| Test.java:593:4:593:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:594:28:594:30 | out : ContentValues [<map.value>] : Number | provenance | |
| Test.java:593:27:593:28 | in : Number | Test.java:593:4:593:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
| Test.java:594:28:594:30 | out : ContentValues [<map.value>] : Number | Test.java:594:9:594:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:599:15:599:30 | (...)... : Number | Test.java:600:27:600:28 | in : Number | provenance | |
| Test.java:599:23:599:30 | source(...) : Object | Test.java:599:15:599:30 | (...)... : Number | provenance | |
| Test.java:600:4:600:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:601:28:601:30 | out : ContentValues [<map.value>] : Number | provenance | |
| Test.java:600:27:600:28 | in : Number | Test.java:600:4:600:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
| Test.java:601:28:601:30 | out : ContentValues [<map.value>] : Number | Test.java:601:9:601:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:606:16:606:32 | (...)... : String | Test.java:607:27:607:28 | in : String | provenance | |
| Test.java:606:25:606:32 | source(...) : Object | Test.java:606:16:606:32 | (...)... : String | provenance | |
| Test.java:607:4:607:6 | out [post update] : ContentValues [<map.value>] : String | Test.java:608:28:608:30 | out : ContentValues [<map.value>] : String | provenance | |
| Test.java:607:27:607:28 | in : String | Test.java:607:4:607:6 | out [post update] : ContentValues [<map.value>] : String | provenance | MaD:50 |
| Test.java:608:28:608:30 | out : ContentValues [<map.value>] : String | Test.java:608:9:608:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:613:16:613:32 | (...)... : byte[] | Test.java:614:27:614:28 | in : byte[] | provenance | |
| Test.java:613:25:613:32 | source(...) : Object | Test.java:613:16:613:32 | (...)... : byte[] | provenance | |
| Test.java:614:4:614:6 | out [post update] : ContentValues [<map.value>] : byte[] | Test.java:615:28:615:30 | out : ContentValues [<map.value>] : byte[] | provenance | |
| Test.java:614:27:614:28 | in : byte[] | Test.java:614:4:614:6 | out [post update] : ContentValues [<map.value>] : byte[] | provenance | MaD:50 |
| Test.java:615:28:615:30 | out : ContentValues [<map.value>] : byte[] | Test.java:615:9:615:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:620:23:620:68 | (...)... : ContentValues [<map.key>] : Object | Test.java:621:15:621:16 | in : ContentValues [<map.key>] : Object | provenance | |
| Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [<map.key>] : Object | Test.java:620:23:620:68 | (...)... : ContentValues [<map.key>] : Object | provenance | |
| Test.java:620:60:620:67 | source(...) : Object | Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [<map.key>] : Object | provenance | MaD:63 |
| Test.java:621:4:621:6 | out [post update] : ContentValues [<map.key>] : Object | Test.java:622:26:622:28 | out : ContentValues [<map.key>] : Object | provenance | |
| Test.java:621:15:621:16 | in : ContentValues [<map.key>] : Object | Test.java:621:4:621:6 | out [post update] : ContentValues [<map.key>] : Object | provenance | MaD:51 |
| Test.java:622:26:622:28 | out : ContentValues [<map.key>] : Object | Test.java:622:9:622:29 | getMapKeyDefault(...) | provenance | MaD:65 |
| Test.java:627:23:627:70 | (...)... : ContentValues [<map.value>] : Object | Test.java:628:15:628:16 | in : ContentValues [<map.value>] : Object | provenance | |
| Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [<map.value>] : Object | Test.java:627:23:627:70 | (...)... : ContentValues [<map.value>] : Object | provenance | |
| Test.java:627:62:627:69 | source(...) : Object | Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [<map.value>] : Object | provenance | MaD:62 |
| Test.java:628:4:628:6 | out [post update] : ContentValues [<map.value>] : Object | Test.java:629:28:629:30 | out : ContentValues [<map.value>] : Object | provenance | |
| Test.java:628:15:628:16 | in : ContentValues [<map.value>] : Object | Test.java:628:4:628:6 | out [post update] : ContentValues [<map.value>] : Object | provenance | MaD:52 |
| Test.java:629:28:629:30 | out : ContentValues [<map.value>] : Object | Test.java:629:9:629:31 | getMapValueDefault(...) | provenance | MaD:64 |
| Test.java:634:16:634:32 | (...)... : Cursor | Test.java:635:4:635:5 | in : Cursor | provenance | |
| Test.java:634:25:634:32 | source(...) : Object | Test.java:634:16:634:32 | (...)... : Cursor | provenance | |
| Test.java:635:4:635:5 | in : Cursor | Test.java:635:29:635:31 | out [post update] : CharArrayBuffer | provenance | MaD:53 |
| Test.java:635:29:635:31 | out [post update] : CharArrayBuffer | Test.java:636:9:636:11 | out | provenance | |
| Test.java:641:16:641:32 | (...)... : Cursor | Test.java:642:10:642:11 | in : Cursor | provenance | |
| Test.java:641:25:641:32 | source(...) : Object | Test.java:641:16:641:32 | (...)... : Cursor | provenance | |
| Test.java:642:10:642:11 | in : Cursor | Test.java:642:10:642:22 | getBlob(...) : byte[] | provenance | MaD:54 |
| Test.java:642:10:642:22 | getBlob(...) : byte[] | Test.java:643:9:643:11 | out | provenance | |
| Test.java:648:16:648:32 | (...)... : Cursor | Test.java:649:10:649:11 | in : Cursor | provenance | |
| Test.java:648:25:648:32 | source(...) : Object | Test.java:648:16:648:32 | (...)... : Cursor | provenance | |
| Test.java:649:10:649:11 | in : Cursor | Test.java:649:10:649:28 | getColumnName(...) : String | provenance | MaD:55 |
| Test.java:649:10:649:28 | getColumnName(...) : String | Test.java:650:9:650:11 | out | provenance | |
| Test.java:655:16:655:32 | (...)... : Cursor | Test.java:656:10:656:11 | in : Cursor | provenance | |
| Test.java:655:25:655:32 | source(...) : Object | Test.java:655:16:655:32 | (...)... : Cursor | provenance | |
| Test.java:656:10:656:11 | in : Cursor | Test.java:656:10:656:28 | getColumnNames(...) : String[] | provenance | MaD:56 |
| Test.java:656:10:656:28 | getColumnNames(...) : String[] | Test.java:657:9:657:11 | out | provenance | |
| Test.java:662:16:662:32 | (...)... : Cursor | Test.java:663:10:663:11 | in : Cursor | provenance | |
| Test.java:662:25:662:32 | source(...) : Object | Test.java:662:16:662:32 | (...)... : Cursor | provenance | |
| Test.java:663:10:663:11 | in : Cursor | Test.java:663:10:663:23 | getExtras(...) : Bundle | provenance | MaD:57 |
| Test.java:663:10:663:23 | getExtras(...) : Bundle | Test.java:664:9:664:11 | out | provenance | |
| Test.java:669:16:669:32 | (...)... : Cursor | Test.java:670:10:670:11 | in : Cursor | provenance | |
| Test.java:669:25:669:32 | source(...) : Object | Test.java:669:16:669:32 | (...)... : Cursor | provenance | |
| Test.java:670:10:670:11 | in : Cursor | Test.java:670:10:670:32 | getNotificationUri(...) : Uri | provenance | MaD:58 |
| Test.java:670:10:670:32 | getNotificationUri(...) : Uri | Test.java:671:9:671:11 | out | provenance | |
| Test.java:676:16:676:32 | (...)... : Cursor | Test.java:677:10:677:11 | in : Cursor | provenance | |
| Test.java:676:25:676:32 | source(...) : Object | Test.java:676:16:676:32 | (...)... : Cursor | provenance | |
| Test.java:677:10:677:11 | in : Cursor | Test.java:677:10:677:33 | getNotificationUris(...) : List | provenance | MaD:59 |
| Test.java:677:10:677:33 | getNotificationUris(...) : List | Test.java:678:9:678:11 | out | provenance | |
| Test.java:683:16:683:32 | (...)... : Cursor | Test.java:684:10:684:11 | in : Cursor | provenance | |
| Test.java:683:25:683:32 | source(...) : Object | Test.java:683:16:683:32 | (...)... : Cursor | provenance | |
| Test.java:684:10:684:11 | in : Cursor | Test.java:684:10:684:24 | getString(...) : String | provenance | MaD:60 |
| Test.java:684:10:684:24 | getString(...) : String | Test.java:685:9:685:11 | out | provenance | |
| Test.java:690:16:690:32 | (...)... : Cursor | Test.java:691:10:691:11 | in : Cursor | provenance | |
| Test.java:690:25:690:32 | source(...) : Object | Test.java:690:16:690:32 | (...)... : Cursor | provenance | |
| Test.java:691:10:691:11 | in : Cursor | Test.java:691:10:691:25 | respond(...) : Bundle | provenance | MaD:61 |
| Test.java:691:10:691:25 | respond(...) : Bundle | Test.java:692:9:692:11 | out | provenance | |
nodes
| Test.java:47:31:47:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:47:55:47:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:48:10:48:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:48:10:48:28 | applyBatch(...) : ContentProviderResult[] | semmle.label | applyBatch(...) : ContentProviderResult[] |
| Test.java:49:9:49:11 | out | semmle.label | out |
| Test.java:54:31:54:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:54:55:54:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:55:10:55:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:55:10:55:34 | applyBatch(...) : ContentProviderResult[] | semmle.label | applyBatch(...) : ContentProviderResult[] |
| Test.java:56:9:56:11 | out | semmle.label | out |
| Test.java:61:31:61:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:61:55:61:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:62:10:62:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:62:10:62:34 | call(...) : Bundle | semmle.label | call(...) : Bundle |
| Test.java:63:9:63:11 | out | semmle.label | out |
| Test.java:68:31:68:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:68:55:68:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:69:10:69:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:69:10:69:40 | call(...) : Bundle | semmle.label | call(...) : Bundle |
| Test.java:70:9:70:11 | out | semmle.label | out |
| Test.java:75:31:75:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:75:55:75:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:76:10:76:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:76:10:76:30 | canonicalize(...) : Uri | semmle.label | canonicalize(...) : Uri |
| Test.java:77:9:77:11 | out | semmle.label | out |
| Test.java:82:31:82:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:82:55:82:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:83:10:83:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:83:10:83:37 | getLocalContentProvider(...) : ContentProvider | semmle.label | getLocalContentProvider(...) : ContentProvider |
| Test.java:84:9:84:11 | out | semmle.label | out |
| Test.java:89:31:89:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:89:55:89:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:90:10:90:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:90:10:90:38 | getStreamTypes(...) : String[] | semmle.label | getStreamTypes(...) : String[] |
| Test.java:91:9:91:11 | out | semmle.label | out |
| Test.java:96:31:96:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:96:55:96:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:97:10:97:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:97:10:97:30 | insert(...) : Uri | semmle.label | insert(...) : Uri |
| Test.java:98:9:98:11 | out | semmle.label | out |
| Test.java:103:31:103:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:103:55:103:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:104:10:104:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:104:10:104:36 | insert(...) : Uri | semmle.label | insert(...) : Uri |
| Test.java:105:9:105:11 | out | semmle.label | out |
| Test.java:110:31:110:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:110:55:110:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:111:10:111:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:111:10:111:41 | query(...) : Cursor | semmle.label | query(...) : Cursor |
| Test.java:112:9:112:11 | out | semmle.label | out |
| Test.java:117:31:117:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:117:55:117:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:118:10:118:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:118:10:118:47 | query(...) : Cursor | semmle.label | query(...) : Cursor |
| Test.java:119:9:119:11 | out | semmle.label | out |
| Test.java:124:31:124:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:124:55:124:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:125:10:125:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:125:10:125:53 | query(...) : Cursor | semmle.label | query(...) : Cursor |
| Test.java:126:9:126:11 | out | semmle.label | out |
| Test.java:131:31:131:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:131:55:131:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:132:10:132:11 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:132:10:132:32 | uncanonicalize(...) : Uri | semmle.label | uncanonicalize(...) : Uri |
| Test.java:133:9:133:11 | out | semmle.label | out |
| Test.java:138:42:138:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:138:77:138:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:139:10:139:11 | in : Builder | semmle.label | in : Builder |
| Test.java:139:10:139:19 | build(...) : ContentProviderOperation | semmle.label | build(...) : ContentProviderOperation |
| Test.java:140:9:140:11 | out | semmle.label | out |
| Test.java:145:42:145:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:145:77:145:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:146:10:146:11 | in : Builder | semmle.label | in : Builder |
| Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | semmle.label | withExceptionAllowed(...) : Builder |
| Test.java:147:9:147:11 | out | semmle.label | out |
| Test.java:152:42:152:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:152:77:152:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:153:10:153:11 | in : Builder | semmle.label | in : Builder |
| Test.java:153:10:153:32 | withExpectedCount(...) : Builder | semmle.label | withExpectedCount(...) : Builder |
| Test.java:154:9:154:11 | out | semmle.label | out |
| Test.java:159:42:159:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:159:77:159:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:160:10:160:11 | in : Builder | semmle.label | in : Builder |
| Test.java:160:10:160:33 | withExtra(...) : Builder | semmle.label | withExtra(...) : Builder |
| Test.java:161:9:161:11 | out | semmle.label | out |
| Test.java:166:42:166:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:166:77:166:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:167:10:167:11 | in : Builder | semmle.label | in : Builder |
| Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | semmle.label | withExtraBackReference(...) : Builder |
| Test.java:168:9:168:11 | out | semmle.label | out |
| Test.java:173:42:173:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:173:77:173:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:174:10:174:11 | in : Builder | semmle.label | in : Builder |
| Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | semmle.label | withExtraBackReference(...) : Builder |
| Test.java:175:9:175:11 | out | semmle.label | out |
| Test.java:180:42:180:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:180:77:180:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:181:10:181:11 | in : Builder | semmle.label | in : Builder |
| Test.java:181:10:181:28 | withExtras(...) : Builder | semmle.label | withExtras(...) : Builder |
| Test.java:182:9:182:11 | out | semmle.label | out |
| Test.java:187:42:187:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:187:77:187:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:188:10:188:11 | in : Builder | semmle.label | in : Builder |
| Test.java:188:10:188:37 | withSelection(...) : Builder | semmle.label | withSelection(...) : Builder |
| Test.java:189:9:189:11 | out | semmle.label | out |
| Test.java:194:42:194:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:194:77:194:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:195:10:195:11 | in : Builder | semmle.label | in : Builder |
| Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | semmle.label | withSelectionBackReference(...) : Builder |
| Test.java:196:9:196:11 | out | semmle.label | out |
| Test.java:201:42:201:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:201:77:201:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:202:10:202:11 | in : Builder | semmle.label | in : Builder |
| Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | semmle.label | withSelectionBackReference(...) : Builder |
| Test.java:203:9:203:11 | out | semmle.label | out |
| Test.java:208:42:208:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:208:77:208:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:209:10:209:11 | in : Builder | semmle.label | in : Builder |
| Test.java:209:10:209:33 | withValue(...) : Builder | semmle.label | withValue(...) : Builder |
| Test.java:210:9:210:11 | out | semmle.label | out |
| Test.java:215:42:215:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:215:77:215:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:216:10:216:11 | in : Builder | semmle.label | in : Builder |
| Test.java:216:10:216:43 | withValueBackReference(...) : Builder | semmle.label | withValueBackReference(...) : Builder |
| Test.java:217:9:217:11 | out | semmle.label | out |
| Test.java:222:42:222:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:222:77:222:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:223:10:223:11 | in : Builder | semmle.label | in : Builder |
| Test.java:223:10:223:49 | withValueBackReference(...) : Builder | semmle.label | withValueBackReference(...) : Builder |
| Test.java:224:9:224:11 | out | semmle.label | out |
| Test.java:229:42:229:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:229:77:229:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:230:10:230:11 | in : Builder | semmle.label | in : Builder |
| Test.java:230:10:230:28 | withValues(...) : Builder | semmle.label | withValues(...) : Builder |
| Test.java:231:9:231:11 | out | semmle.label | out |
| Test.java:236:42:236:84 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:236:77:236:84 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:237:10:237:11 | in : Builder | semmle.label | in : Builder |
| Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | semmle.label | withYieldAllowed(...) : Builder |
| Test.java:238:9:238:11 | out | semmle.label | out |
| Test.java:243:34:243:68 | (...)... : ContentProviderOperation | semmle.label | (...)... : ContentProviderOperation |
| Test.java:243:61:243:68 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:244:10:244:11 | in : ContentProviderOperation | semmle.label | in : ContentProviderOperation |
| Test.java:244:10:244:32 | apply(...) : ContentProviderResult | semmle.label | apply(...) : ContentProviderResult |
| Test.java:245:9:245:11 | out | semmle.label | out |
| Test.java:250:25:250:50 | (...)... : ContentProvider | semmle.label | (...)... : ContentProvider |
| Test.java:250:43:250:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:252:10:252:36 | apply(...) : ContentProviderResult | semmle.label | apply(...) : ContentProviderResult |
| Test.java:252:25:252:26 | in : ContentProvider | semmle.label | in : ContentProvider |
| Test.java:253:9:253:11 | out | semmle.label | out |
| Test.java:258:34:258:68 | (...)... : ContentProviderOperation | semmle.label | (...)... : ContentProviderOperation |
| Test.java:258:61:258:68 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:259:10:259:11 | in : ContentProviderOperation | semmle.label | in : ContentProviderOperation |
| Test.java:259:10:259:20 | getUri(...) : Uri | semmle.label | getUri(...) : Uri |
| Test.java:260:9:260:11 | out | semmle.label | out |
| Test.java:265:13:265:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:265:19:265:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:266:10:266:52 | newAssertQuery(...) : Builder | semmle.label | newAssertQuery(...) : Builder |
| Test.java:266:50:266:51 | in : Uri | semmle.label | in : Uri |
| Test.java:267:9:267:11 | out | semmle.label | out |
| Test.java:272:13:272:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:272:19:272:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:273:10:273:57 | newCall(...) : Builder | semmle.label | newCall(...) : Builder |
| Test.java:273:43:273:44 | in : Uri | semmle.label | in : Uri |
| Test.java:274:9:274:11 | out | semmle.label | out |
| Test.java:279:13:279:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:279:19:279:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:280:10:280:47 | newDelete(...) : Builder | semmle.label | newDelete(...) : Builder |
| Test.java:280:45:280:46 | in : Uri | semmle.label | in : Uri |
| Test.java:281:9:281:11 | out | semmle.label | out |
| Test.java:286:13:286:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:286:19:286:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:287:10:287:47 | newInsert(...) : Builder | semmle.label | newInsert(...) : Builder |
| Test.java:287:45:287:46 | in : Uri | semmle.label | in : Uri |
| Test.java:288:9:288:11 | out | semmle.label | out |
| Test.java:293:13:293:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:293:19:293:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:294:10:294:47 | newUpdate(...) : Builder | semmle.label | newUpdate(...) : Builder |
| Test.java:294:45:294:46 | in : Uri | semmle.label | in : Uri |
| Test.java:295:9:295:11 | out | semmle.label | out |
| Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | semmle.label | (...)... : ContentProviderResult[] |
| Test.java:300:59:300:66 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | semmle.label | resolveExtrasBackReferences(...) : Bundle |
| Test.java:302:47:302:48 | in : ContentProviderResult[] | semmle.label | in : ContentProviderResult[] |
| Test.java:303:9:303:11 | out | semmle.label | out |
| Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | semmle.label | (...)... : ContentProviderResult[] |
| Test.java:308:59:308:66 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | semmle.label | resolveSelectionArgsBackReferences(...) : String[] |
| Test.java:310:54:310:55 | in : ContentProviderResult[] | semmle.label | in : ContentProviderResult[] |
| Test.java:311:9:311:11 | out | semmle.label | out |
| Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | semmle.label | (...)... : ContentProviderResult[] |
| Test.java:316:59:316:66 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | semmle.label | resolveValueBackReferences(...) : ContentValues |
| Test.java:318:46:318:47 | in : ContentProviderResult[] | semmle.label | in : ContentProviderResult[] |
| Test.java:319:9:319:11 | out | semmle.label | out |
| Test.java:324:16:324:32 | (...)... : Bundle | semmle.label | (...)... : Bundle |
| Test.java:324:25:324:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:325:10:325:38 | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | semmle.label | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle |
| Test.java:325:36:325:37 | in : Bundle | semmle.label | in : Bundle |
| Test.java:326:9:326:11 | out : ContentProviderResult [extras] : Bundle | semmle.label | out : ContentProviderResult [extras] : Bundle |
| Test.java:326:9:326:18 | out.extras | semmle.label | out.extras |
| Test.java:331:16:331:32 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:331:25:331:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:332:10:332:38 | new ContentProviderResult(...) : ContentProviderResult | semmle.label | new ContentProviderResult(...) : ContentProviderResult |
| Test.java:332:36:332:37 | in : Parcel | semmle.label | in : Parcel |
| Test.java:333:9:333:11 | out | semmle.label | out |
| Test.java:338:19:338:38 | (...)... : Throwable | semmle.label | (...)... : Throwable |
| Test.java:338:31:338:38 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:339:10:339:38 | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable | semmle.label | new ContentProviderResult(...) : ContentProviderResult [exception] : Throwable |
| Test.java:339:36:339:37 | in : Throwable | semmle.label | in : Throwable |
| Test.java:340:9:340:11 | out : ContentProviderResult [exception] : Throwable | semmle.label | out : ContentProviderResult [exception] : Throwable |
| Test.java:340:9:340:21 | out.exception | semmle.label | out.exception |
| Test.java:345:13:345:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:345:19:345:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:346:10:346:38 | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri | semmle.label | new ContentProviderResult(...) : ContentProviderResult [uri] : Uri |
| Test.java:346:36:346:37 | in : Uri | semmle.label | in : Uri |
| Test.java:347:9:347:11 | out : ContentProviderResult [uri] : Uri | semmle.label | out : ContentProviderResult [uri] : Uri |
| Test.java:347:9:347:15 | out.uri | semmle.label | out.uri |
| Test.java:352:16:352:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:352:25:352:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:354:10:354:50 | acquireContentProviderClient(...) : ContentProviderClient | semmle.label | acquireContentProviderClient(...) : ContentProviderClient |
| Test.java:354:48:354:49 | in : String | semmle.label | in : String |
| Test.java:355:9:355:11 | out | semmle.label | out |
| Test.java:360:13:360:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:360:19:360:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:362:10:362:50 | acquireContentProviderClient(...) : ContentProviderClient | semmle.label | acquireContentProviderClient(...) : ContentProviderClient |
| Test.java:362:48:362:49 | in : Uri | semmle.label | in : Uri |
| Test.java:363:9:363:11 | out | semmle.label | out |
| Test.java:368:16:368:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:368:25:368:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:370:10:370:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | semmle.label | acquireUnstableContentProviderClient(...) : ContentProviderClient |
| Test.java:370:56:370:57 | in : String | semmle.label | in : String |
| Test.java:371:9:371:11 | out | semmle.label | out |
| Test.java:376:13:376:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:376:19:376:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:378:10:378:58 | acquireUnstableContentProviderClient(...) : ContentProviderClient | semmle.label | acquireUnstableContentProviderClient(...) : ContentProviderClient |
| Test.java:378:56:378:57 | in : Uri | semmle.label | in : Uri |
| Test.java:379:9:379:11 | out | semmle.label | out |
| Test.java:384:19:384:38 | (...)... : ArrayList | semmle.label | (...)... : ArrayList |
| Test.java:384:31:384:38 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:386:10:386:38 | applyBatch(...) : ContentProviderResult[] | semmle.label | applyBatch(...) : ContentProviderResult[] |
| Test.java:386:36:386:37 | in : ArrayList | semmle.label | in : ArrayList |
| Test.java:387:9:387:11 | out | semmle.label | out |
| Test.java:392:16:392:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:392:25:392:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:394:10:394:71 | call(...) : Bundle | semmle.label | call(...) : Bundle |
| Test.java:394:24:394:25 | in : String | semmle.label | in : String |
| Test.java:395:9:395:11 | out | semmle.label | out |
| Test.java:400:13:400:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:400:19:400:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:402:10:402:71 | call(...) : Bundle | semmle.label | call(...) : Bundle |
| Test.java:402:24:402:25 | in : Uri | semmle.label | in : Uri |
| Test.java:403:9:403:11 | out | semmle.label | out |
| Test.java:408:13:408:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:408:19:408:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:410:10:410:34 | canonicalize(...) : Uri | semmle.label | canonicalize(...) : Uri |
| Test.java:410:32:410:33 | in : Uri | semmle.label | in : Uri |
| Test.java:411:9:411:11 | out | semmle.label | out |
| Test.java:416:13:416:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:416:19:416:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:418:10:418:42 | getStreamTypes(...) : String[] | semmle.label | getStreamTypes(...) : String[] |
| Test.java:418:34:418:35 | in : Uri | semmle.label | in : Uri |
| Test.java:419:9:419:11 | out | semmle.label | out |
| Test.java:424:13:424:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:424:19:424:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:426:10:426:29 | getType(...) : String | semmle.label | getType(...) : String |
| Test.java:426:27:426:28 | in : Uri | semmle.label | in : Uri |
| Test.java:427:9:427:11 | out | semmle.label | out |
| Test.java:432:13:432:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:432:19:432:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:434:10:434:34 | insert(...) : Uri | semmle.label | insert(...) : Uri |
| Test.java:434:26:434:27 | in : Uri | semmle.label | in : Uri |
| Test.java:435:9:435:11 | out | semmle.label | out |
| Test.java:440:13:440:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:440:19:440:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:442:10:442:40 | insert(...) : Uri | semmle.label | insert(...) : Uri |
| Test.java:442:26:442:27 | in : Uri | semmle.label | in : Uri |
| Test.java:443:9:443:11 | out | semmle.label | out |
| Test.java:448:13:448:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:448:19:448:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:450:10:450:45 | query(...) : Cursor | semmle.label | query(...) : Cursor |
| Test.java:450:25:450:26 | in : Uri | semmle.label | in : Uri |
| Test.java:451:9:451:11 | out | semmle.label | out |
| Test.java:456:13:456:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:456:19:456:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:458:10:458:51 | query(...) : Cursor | semmle.label | query(...) : Cursor |
| Test.java:458:25:458:26 | in : Uri | semmle.label | in : Uri |
| Test.java:459:9:459:11 | out | semmle.label | out |
| Test.java:464:13:464:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:464:19:464:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:466:10:466:57 | query(...) : Cursor | semmle.label | query(...) : Cursor |
| Test.java:466:25:466:26 | in : Uri | semmle.label | in : Uri |
| Test.java:467:9:467:11 | out | semmle.label | out |
| Test.java:472:13:472:26 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:472:19:472:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:474:10:474:36 | uncanonicalize(...) : Uri | semmle.label | uncanonicalize(...) : Uri |
| Test.java:474:34:474:35 | in : Uri | semmle.label | in : Uri |
| Test.java:475:9:475:11 | out | semmle.label | out |
| Test.java:480:25:480:50 | (...)... : ContentProvider | semmle.label | (...)... : ContentProvider |
| Test.java:480:43:480:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:481:10:481:33 | wrap(...) : ContentResolver | semmle.label | wrap(...) : ContentResolver |
| Test.java:481:31:481:32 | in : ContentProvider | semmle.label | in : ContentProvider |
| Test.java:482:9:482:11 | out | semmle.label | out |
| Test.java:487:31:487:62 | (...)... : ContentProviderClient | semmle.label | (...)... : ContentProviderClient |
| Test.java:487:55:487:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:488:10:488:33 | wrap(...) : ContentResolver | semmle.label | wrap(...) : ContentResolver |
| Test.java:488:31:488:32 | in : ContentProviderClient | semmle.label | in : ContentProviderClient |
| Test.java:489:9:489:11 | out | semmle.label | out |
| Test.java:494:16:494:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:494:25:494:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:495:4:495:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:495:12:495:13 | in : String | semmle.label | in : String |
| Test.java:496:9:496:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:496:26:496:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:501:16:501:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:501:25:501:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:502:4:502:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:502:12:502:13 | in : String | semmle.label | in : String |
| Test.java:503:9:503:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:503:26:503:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:508:16:508:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:508:25:508:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:509:4:509:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:509:12:509:13 | in : String | semmle.label | in : String |
| Test.java:510:9:510:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:510:26:510:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:515:16:515:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:515:25:515:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:516:4:516:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:516:12:516:13 | in : String | semmle.label | in : String |
| Test.java:517:9:517:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:517:26:517:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:522:16:522:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:522:25:522:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:523:4:523:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:523:12:523:13 | in : String | semmle.label | in : String |
| Test.java:524:9:524:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:524:26:524:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:529:16:529:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:529:25:529:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:530:4:530:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:530:12:530:13 | in : String | semmle.label | in : String |
| Test.java:531:9:531:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:531:26:531:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:536:16:536:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:536:25:536:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:537:4:537:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:537:12:537:13 | in : String | semmle.label | in : String |
| Test.java:538:9:538:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:538:26:538:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:543:16:543:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:543:25:543:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:544:4:544:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:544:12:544:13 | in : String | semmle.label | in : String |
| Test.java:545:9:545:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:545:26:545:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:550:16:550:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:550:25:550:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:551:4:551:6 | out [post update] : ContentValues [<map.key>] : String | semmle.label | out [post update] : ContentValues [<map.key>] : String |
| Test.java:551:12:551:13 | in : String | semmle.label | in : String |
| Test.java:552:9:552:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:552:26:552:28 | out : ContentValues [<map.key>] : String | semmle.label | out : ContentValues [<map.key>] : String |
| Test.java:557:17:557:34 | (...)... : Boolean | semmle.label | (...)... : Boolean |
| Test.java:557:27:557:34 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:558:4:558:6 | out [post update] : ContentValues [<map.value>] : Boolean | semmle.label | out [post update] : ContentValues [<map.value>] : Boolean |
| Test.java:558:27:558:28 | in : Boolean | semmle.label | in : Boolean |
| Test.java:559:9:559:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:559:28:559:30 | out : ContentValues [<map.value>] : Boolean | semmle.label | out : ContentValues [<map.value>] : Boolean |
| Test.java:564:14:564:28 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:564:21:564:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:565:4:565:6 | out [post update] : ContentValues [<map.value>] : Number | semmle.label | out [post update] : ContentValues [<map.value>] : Number |
| Test.java:565:27:565:28 | in : Number | semmle.label | in : Number |
| Test.java:566:9:566:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:566:28:566:30 | out : ContentValues [<map.value>] : Number | semmle.label | out : ContentValues [<map.value>] : Number |
| Test.java:571:16:571:32 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:571:25:571:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:572:4:572:6 | out [post update] : ContentValues [<map.value>] : Number | semmle.label | out [post update] : ContentValues [<map.value>] : Number |
| Test.java:572:27:572:28 | in : Number | semmle.label | in : Number |
| Test.java:573:9:573:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:573:28:573:30 | out : ContentValues [<map.value>] : Number | semmle.label | out : ContentValues [<map.value>] : Number |
| Test.java:578:15:578:30 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:578:23:578:30 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:579:4:579:6 | out [post update] : ContentValues [<map.value>] : Number | semmle.label | out [post update] : ContentValues [<map.value>] : Number |
| Test.java:579:27:579:28 | in : Number | semmle.label | in : Number |
| Test.java:580:9:580:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:580:28:580:30 | out : ContentValues [<map.value>] : Number | semmle.label | out : ContentValues [<map.value>] : Number |
| Test.java:585:17:585:34 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:585:27:585:34 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:586:4:586:6 | out [post update] : ContentValues [<map.value>] : Number | semmle.label | out [post update] : ContentValues [<map.value>] : Number |
| Test.java:586:27:586:28 | in : Number | semmle.label | in : Number |
| Test.java:587:9:587:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:587:28:587:30 | out : ContentValues [<map.value>] : Number | semmle.label | out : ContentValues [<map.value>] : Number |
| Test.java:592:14:592:28 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:592:21:592:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:593:4:593:6 | out [post update] : ContentValues [<map.value>] : Number | semmle.label | out [post update] : ContentValues [<map.value>] : Number |
| Test.java:593:27:593:28 | in : Number | semmle.label | in : Number |
| Test.java:594:9:594:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:594:28:594:30 | out : ContentValues [<map.value>] : Number | semmle.label | out : ContentValues [<map.value>] : Number |
| Test.java:599:15:599:30 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:599:23:599:30 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:600:4:600:6 | out [post update] : ContentValues [<map.value>] : Number | semmle.label | out [post update] : ContentValues [<map.value>] : Number |
| Test.java:600:27:600:28 | in : Number | semmle.label | in : Number |
| Test.java:601:9:601:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:601:28:601:30 | out : ContentValues [<map.value>] : Number | semmle.label | out : ContentValues [<map.value>] : Number |
| Test.java:606:16:606:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:606:25:606:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:607:4:607:6 | out [post update] : ContentValues [<map.value>] : String | semmle.label | out [post update] : ContentValues [<map.value>] : String |
| Test.java:607:27:607:28 | in : String | semmle.label | in : String |
| Test.java:608:9:608:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:608:28:608:30 | out : ContentValues [<map.value>] : String | semmle.label | out : ContentValues [<map.value>] : String |
| Test.java:613:16:613:32 | (...)... : byte[] | semmle.label | (...)... : byte[] |
| Test.java:613:25:613:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:614:4:614:6 | out [post update] : ContentValues [<map.value>] : byte[] | semmle.label | out [post update] : ContentValues [<map.value>] : byte[] |
| Test.java:614:27:614:28 | in : byte[] | semmle.label | in : byte[] |
| Test.java:615:9:615:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:615:28:615:30 | out : ContentValues [<map.value>] : byte[] | semmle.label | out : ContentValues [<map.value>] : byte[] |
| Test.java:620:23:620:68 | (...)... : ContentValues [<map.key>] : Object | semmle.label | (...)... : ContentValues [<map.key>] : Object |
| Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [<map.key>] : Object | semmle.label | newWithMapKeyDefault(...) : Object [<map.key>] : Object |
| Test.java:620:60:620:67 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:621:4:621:6 | out [post update] : ContentValues [<map.key>] : Object | semmle.label | out [post update] : ContentValues [<map.key>] : Object |
| Test.java:621:15:621:16 | in : ContentValues [<map.key>] : Object | semmle.label | in : ContentValues [<map.key>] : Object |
| Test.java:622:9:622:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:622:26:622:28 | out : ContentValues [<map.key>] : Object | semmle.label | out : ContentValues [<map.key>] : Object |
| Test.java:627:23:627:70 | (...)... : ContentValues [<map.value>] : Object | semmle.label | (...)... : ContentValues [<map.value>] : Object |
| Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [<map.value>] : Object | semmle.label | newWithMapValueDefault(...) : Object [<map.value>] : Object |
| Test.java:627:62:627:69 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:628:4:628:6 | out [post update] : ContentValues [<map.value>] : Object | semmle.label | out [post update] : ContentValues [<map.value>] : Object |
| Test.java:628:15:628:16 | in : ContentValues [<map.value>] : Object | semmle.label | in : ContentValues [<map.value>] : Object |
| Test.java:629:9:629:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:629:28:629:30 | out : ContentValues [<map.value>] : Object | semmle.label | out : ContentValues [<map.value>] : Object |
| Test.java:634:16:634:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:634:25:634:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:635:4:635:5 | in : Cursor | semmle.label | in : Cursor |
| Test.java:635:29:635:31 | out [post update] : CharArrayBuffer | semmle.label | out [post update] : CharArrayBuffer |
| Test.java:636:9:636:11 | out | semmle.label | out |
| Test.java:641:16:641:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:641:25:641:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:642:10:642:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:642:10:642:22 | getBlob(...) : byte[] | semmle.label | getBlob(...) : byte[] |
| Test.java:643:9:643:11 | out | semmle.label | out |
| Test.java:648:16:648:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:648:25:648:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:649:10:649:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:649:10:649:28 | getColumnName(...) : String | semmle.label | getColumnName(...) : String |
| Test.java:650:9:650:11 | out | semmle.label | out |
| Test.java:655:16:655:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:655:25:655:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:656:10:656:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:656:10:656:28 | getColumnNames(...) : String[] | semmle.label | getColumnNames(...) : String[] |
| Test.java:657:9:657:11 | out | semmle.label | out |
| Test.java:662:16:662:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:662:25:662:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:663:10:663:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:663:10:663:23 | getExtras(...) : Bundle | semmle.label | getExtras(...) : Bundle |
| Test.java:664:9:664:11 | out | semmle.label | out |
| Test.java:669:16:669:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:669:25:669:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:670:10:670:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:670:10:670:32 | getNotificationUri(...) : Uri | semmle.label | getNotificationUri(...) : Uri |
| Test.java:671:9:671:11 | out | semmle.label | out |
| Test.java:676:16:676:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:676:25:676:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:677:10:677:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:677:10:677:33 | getNotificationUris(...) : List | semmle.label | getNotificationUris(...) : List |
| Test.java:678:9:678:11 | out | semmle.label | out |
| Test.java:683:16:683:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:683:25:683:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:684:10:684:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:684:10:684:24 | getString(...) : String | semmle.label | getString(...) : String |
| Test.java:685:9:685:11 | out | semmle.label | out |
| Test.java:690:16:690:32 | (...)... : Cursor | semmle.label | (...)... : Cursor |
| Test.java:690:25:690:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:691:10:691:11 | in : Cursor | semmle.label | in : Cursor |
| Test.java:691:10:691:25 | respond(...) : Bundle | semmle.label | respond(...) : Bundle |
| Test.java:692:9:692:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,423 @@
models
| 1 | Summary: android.os; Parcel; false; readArray; ; ; Argument[this]; ReturnValue; taint; manual |
| 2 | Summary: android.os; Parcel; false; readArrayList; ; ; Argument[this]; ReturnValue; taint; manual |
| 3 | Summary: android.os; Parcel; false; readBinderArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 4 | Summary: android.os; Parcel; false; readBinderList; ; ; Argument[this]; Argument[0]; taint; manual |
| 5 | Summary: android.os; Parcel; false; readBoolean; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: android.os; Parcel; false; readBooleanArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 7 | Summary: android.os; Parcel; false; readBundle; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: android.os; Parcel; false; readByte; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: android.os; Parcel; false; readByteArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 10 | Summary: android.os; Parcel; false; readCharArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 11 | Summary: android.os; Parcel; false; readDouble; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: android.os; Parcel; false; readDoubleArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 13 | Summary: android.os; Parcel; false; readFileDescriptor; ; ; Argument[this]; ReturnValue; taint; manual |
| 14 | Summary: android.os; Parcel; false; readFloat; ; ; Argument[this]; ReturnValue; taint; manual |
| 15 | Summary: android.os; Parcel; false; readFloatArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 16 | Summary: android.os; Parcel; false; readHashMap; ; ; Argument[this]; ReturnValue; taint; manual |
| 17 | Summary: android.os; Parcel; false; readInt; ; ; Argument[this]; ReturnValue; taint; manual |
| 18 | Summary: android.os; Parcel; false; readIntArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 19 | Summary: android.os; Parcel; false; readList; ; ; Argument[this]; Argument[0]; taint; manual |
| 20 | Summary: android.os; Parcel; false; readLong; ; ; Argument[this]; ReturnValue; taint; manual |
| 21 | Summary: android.os; Parcel; false; readLongArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 22 | Summary: android.os; Parcel; false; readMap; ; ; Argument[this]; Argument[0]; taint; manual |
| 23 | Summary: android.os; Parcel; false; readParcelable; ; ; Argument[this]; ReturnValue; taint; manual |
| 24 | Summary: android.os; Parcel; false; readParcelableArray; ; ; Argument[this]; ReturnValue; taint; manual |
| 25 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[this]; Argument[0]; taint; manual |
| 26 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[0]; ReturnValue; value; manual |
| 27 | Summary: android.os; Parcel; false; readPersistableBundle; ; ; Argument[this]; ReturnValue; taint; manual |
| 28 | Summary: android.os; Parcel; false; readSerializable; ; ; Argument[this]; ReturnValue; taint; manual |
| 29 | Summary: android.os; Parcel; false; readSize; ; ; Argument[this]; ReturnValue; taint; manual |
| 30 | Summary: android.os; Parcel; false; readSizeF; ; ; Argument[this]; ReturnValue; taint; manual |
| 31 | Summary: android.os; Parcel; false; readSparseArray; ; ; Argument[this]; ReturnValue; taint; manual |
| 32 | Summary: android.os; Parcel; false; readSparseBooleanArray; ; ; Argument[this]; ReturnValue; taint; manual |
| 33 | Summary: android.os; Parcel; false; readString; ; ; Argument[this]; ReturnValue; taint; manual |
| 34 | Summary: android.os; Parcel; false; readStringArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 35 | Summary: android.os; Parcel; false; readStringList; ; ; Argument[this]; Argument[0]; taint; manual |
| 36 | Summary: android.os; Parcel; false; readStrongBinder; ; ; Argument[this]; ReturnValue; taint; manual |
| 37 | Summary: android.os; Parcel; false; readTypedArray; ; ; Argument[this]; Argument[0]; taint; manual |
| 38 | Summary: android.os; Parcel; false; readTypedList; ; ; Argument[this]; Argument[0]; taint; manual |
| 39 | Summary: android.os; Parcel; false; readTypedObject; ; ; Argument[this]; ReturnValue; taint; manual |
| 40 | Summary: android.os; Parcel; false; readValue; ; ; Argument[this]; ReturnValue; taint; manual |
edges
| Test.java:32:16:32:31 | (...)... : Parcel | Test.java:33:10:33:11 | in : Parcel | provenance | |
| Test.java:32:24:32:31 | source(...) : Object | Test.java:32:16:32:31 | (...)... : Parcel | provenance | |
| Test.java:33:10:33:11 | in : Parcel | Test.java:33:10:33:27 | readArray(...) : Object[] | provenance | MaD:1 |
| Test.java:33:10:33:27 | readArray(...) : Object[] | Test.java:34:9:34:11 | out | provenance | |
| Test.java:39:16:39:31 | (...)... : Parcel | Test.java:40:10:40:11 | in : Parcel | provenance | |
| Test.java:39:24:39:31 | source(...) : Object | Test.java:39:16:39:31 | (...)... : Parcel | provenance | |
| Test.java:40:10:40:11 | in : Parcel | Test.java:40:10:40:31 | readArrayList(...) : ArrayList | provenance | MaD:2 |
| Test.java:40:10:40:31 | readArrayList(...) : ArrayList | Test.java:41:9:41:11 | out | provenance | |
| Test.java:46:16:46:31 | (...)... : Parcel | Test.java:47:4:47:5 | in : Parcel | provenance | |
| Test.java:46:24:46:31 | source(...) : Object | Test.java:46:16:46:31 | (...)... : Parcel | provenance | |
| Test.java:47:4:47:5 | in : Parcel | Test.java:47:23:47:25 | out [post update] : IBinder[] | provenance | MaD:3 |
| Test.java:47:23:47:25 | out [post update] : IBinder[] | Test.java:48:9:48:11 | out | provenance | |
| Test.java:53:16:53:31 | (...)... : Parcel | Test.java:54:4:54:5 | in : Parcel | provenance | |
| Test.java:53:24:53:31 | source(...) : Object | Test.java:53:16:53:31 | (...)... : Parcel | provenance | |
| Test.java:54:4:54:5 | in : Parcel | Test.java:54:22:54:24 | out [post update] : List | provenance | MaD:4 |
| Test.java:54:22:54:24 | out [post update] : List | Test.java:55:9:55:11 | out | provenance | |
| Test.java:60:16:60:31 | (...)... : Parcel | Test.java:61:10:61:11 | in : Parcel | provenance | |
| Test.java:60:24:60:31 | source(...) : Object | Test.java:60:16:60:31 | (...)... : Parcel | provenance | |
| Test.java:61:10:61:11 | in : Parcel | Test.java:61:10:61:25 | readBoolean(...) : Boolean | provenance | MaD:5 |
| Test.java:61:10:61:25 | readBoolean(...) : Boolean | Test.java:62:9:62:11 | out | provenance | |
| Test.java:67:16:67:31 | (...)... : Parcel | Test.java:68:4:68:5 | in : Parcel | provenance | |
| Test.java:67:24:67:31 | source(...) : Object | Test.java:67:16:67:31 | (...)... : Parcel | provenance | |
| Test.java:68:4:68:5 | in : Parcel | Test.java:68:24:68:26 | out [post update] : boolean[] | provenance | MaD:6 |
| Test.java:68:24:68:26 | out [post update] : boolean[] | Test.java:69:9:69:11 | out | provenance | |
| Test.java:74:16:74:31 | (...)... : Parcel | Test.java:75:10:75:11 | in : Parcel | provenance | |
| Test.java:74:24:74:31 | source(...) : Object | Test.java:74:16:74:31 | (...)... : Parcel | provenance | |
| Test.java:75:10:75:11 | in : Parcel | Test.java:75:10:75:28 | readBundle(...) : Bundle | provenance | MaD:7 |
| Test.java:75:10:75:28 | readBundle(...) : Bundle | Test.java:76:9:76:11 | out | provenance | |
| Test.java:81:16:81:31 | (...)... : Parcel | Test.java:82:10:82:11 | in : Parcel | provenance | |
| Test.java:81:24:81:31 | source(...) : Object | Test.java:81:16:81:31 | (...)... : Parcel | provenance | |
| Test.java:82:10:82:11 | in : Parcel | Test.java:82:10:82:24 | readBundle(...) : Bundle | provenance | MaD:7 |
| Test.java:82:10:82:24 | readBundle(...) : Bundle | Test.java:83:9:83:11 | out | provenance | |
| Test.java:88:16:88:31 | (...)... : Parcel | Test.java:89:10:89:11 | in : Parcel | provenance | |
| Test.java:88:24:88:31 | source(...) : Object | Test.java:88:16:88:31 | (...)... : Parcel | provenance | |
| Test.java:89:10:89:11 | in : Parcel | Test.java:89:10:89:22 | readByte(...) : Number | provenance | MaD:8 |
| Test.java:89:10:89:22 | readByte(...) : Number | Test.java:90:9:90:11 | out | provenance | |
| Test.java:95:16:95:31 | (...)... : Parcel | Test.java:96:4:96:5 | in : Parcel | provenance | |
| Test.java:95:24:95:31 | source(...) : Object | Test.java:95:16:95:31 | (...)... : Parcel | provenance | |
| Test.java:96:4:96:5 | in : Parcel | Test.java:96:21:96:23 | out [post update] : byte[] | provenance | MaD:9 |
| Test.java:96:21:96:23 | out [post update] : byte[] | Test.java:97:9:97:11 | out | provenance | |
| Test.java:102:16:102:31 | (...)... : Parcel | Test.java:103:4:103:5 | in : Parcel | provenance | |
| Test.java:102:24:102:31 | source(...) : Object | Test.java:102:16:102:31 | (...)... : Parcel | provenance | |
| Test.java:103:4:103:5 | in : Parcel | Test.java:103:21:103:23 | out [post update] : char[] | provenance | MaD:10 |
| Test.java:103:21:103:23 | out [post update] : char[] | Test.java:104:9:104:11 | out | provenance | |
| Test.java:109:16:109:31 | (...)... : Parcel | Test.java:110:10:110:11 | in : Parcel | provenance | |
| Test.java:109:24:109:31 | source(...) : Object | Test.java:109:16:109:31 | (...)... : Parcel | provenance | |
| Test.java:110:10:110:11 | in : Parcel | Test.java:110:10:110:24 | readDouble(...) : Number | provenance | MaD:11 |
| Test.java:110:10:110:24 | readDouble(...) : Number | Test.java:111:9:111:11 | out | provenance | |
| Test.java:116:16:116:31 | (...)... : Parcel | Test.java:117:4:117:5 | in : Parcel | provenance | |
| Test.java:116:24:116:31 | source(...) : Object | Test.java:116:16:116:31 | (...)... : Parcel | provenance | |
| Test.java:117:4:117:5 | in : Parcel | Test.java:117:23:117:25 | out [post update] : double[] | provenance | MaD:12 |
| Test.java:117:23:117:25 | out [post update] : double[] | Test.java:118:9:118:11 | out | provenance | |
| Test.java:123:16:123:31 | (...)... : Parcel | Test.java:124:10:124:11 | in : Parcel | provenance | |
| Test.java:123:24:123:31 | source(...) : Object | Test.java:123:16:123:31 | (...)... : Parcel | provenance | |
| Test.java:124:10:124:11 | in : Parcel | Test.java:124:10:124:32 | readFileDescriptor(...) : ParcelFileDescriptor | provenance | MaD:13 |
| Test.java:124:10:124:32 | readFileDescriptor(...) : ParcelFileDescriptor | Test.java:125:9:125:11 | out | provenance | |
| Test.java:130:16:130:31 | (...)... : Parcel | Test.java:131:10:131:11 | in : Parcel | provenance | |
| Test.java:130:24:130:31 | source(...) : Object | Test.java:130:16:130:31 | (...)... : Parcel | provenance | |
| Test.java:131:10:131:11 | in : Parcel | Test.java:131:10:131:23 | readFloat(...) : Number | provenance | MaD:14 |
| Test.java:131:10:131:23 | readFloat(...) : Number | Test.java:132:9:132:11 | out | provenance | |
| Test.java:137:16:137:31 | (...)... : Parcel | Test.java:138:4:138:5 | in : Parcel | provenance | |
| Test.java:137:24:137:31 | source(...) : Object | Test.java:137:16:137:31 | (...)... : Parcel | provenance | |
| Test.java:138:4:138:5 | in : Parcel | Test.java:138:22:138:24 | out [post update] : float[] | provenance | MaD:15 |
| Test.java:138:22:138:24 | out [post update] : float[] | Test.java:139:9:139:11 | out | provenance | |
| Test.java:144:16:144:31 | (...)... : Parcel | Test.java:145:10:145:11 | in : Parcel | provenance | |
| Test.java:144:24:144:31 | source(...) : Object | Test.java:144:16:144:31 | (...)... : Parcel | provenance | |
| Test.java:145:10:145:11 | in : Parcel | Test.java:145:10:145:29 | readHashMap(...) : HashMap | provenance | MaD:16 |
| Test.java:145:10:145:29 | readHashMap(...) : HashMap | Test.java:146:9:146:11 | out | provenance | |
| Test.java:151:16:151:31 | (...)... : Parcel | Test.java:152:10:152:11 | in : Parcel | provenance | |
| Test.java:151:24:151:31 | source(...) : Object | Test.java:151:16:151:31 | (...)... : Parcel | provenance | |
| Test.java:152:10:152:11 | in : Parcel | Test.java:152:10:152:21 | readInt(...) : Number | provenance | MaD:17 |
| Test.java:152:10:152:21 | readInt(...) : Number | Test.java:153:9:153:11 | out | provenance | |
| Test.java:158:16:158:31 | (...)... : Parcel | Test.java:159:4:159:5 | in : Parcel | provenance | |
| Test.java:158:24:158:31 | source(...) : Object | Test.java:158:16:158:31 | (...)... : Parcel | provenance | |
| Test.java:159:4:159:5 | in : Parcel | Test.java:159:20:159:22 | out [post update] : int[] | provenance | MaD:18 |
| Test.java:159:20:159:22 | out [post update] : int[] | Test.java:160:9:160:11 | out | provenance | |
| Test.java:165:16:165:31 | (...)... : Parcel | Test.java:166:4:166:5 | in : Parcel | provenance | |
| Test.java:165:24:165:31 | source(...) : Object | Test.java:165:16:165:31 | (...)... : Parcel | provenance | |
| Test.java:166:4:166:5 | in : Parcel | Test.java:166:16:166:18 | out [post update] : List | provenance | MaD:19 |
| Test.java:166:16:166:18 | out [post update] : List | Test.java:167:9:167:11 | out | provenance | |
| Test.java:172:16:172:31 | (...)... : Parcel | Test.java:173:10:173:11 | in : Parcel | provenance | |
| Test.java:172:24:172:31 | source(...) : Object | Test.java:172:16:172:31 | (...)... : Parcel | provenance | |
| Test.java:173:10:173:11 | in : Parcel | Test.java:173:10:173:22 | readLong(...) : Number | provenance | MaD:20 |
| Test.java:173:10:173:22 | readLong(...) : Number | Test.java:174:9:174:11 | out | provenance | |
| Test.java:179:16:179:31 | (...)... : Parcel | Test.java:180:4:180:5 | in : Parcel | provenance | |
| Test.java:179:24:179:31 | source(...) : Object | Test.java:179:16:179:31 | (...)... : Parcel | provenance | |
| Test.java:180:4:180:5 | in : Parcel | Test.java:180:21:180:23 | out [post update] : long[] | provenance | MaD:21 |
| Test.java:180:21:180:23 | out [post update] : long[] | Test.java:181:9:181:11 | out | provenance | |
| Test.java:186:16:186:31 | (...)... : Parcel | Test.java:187:4:187:5 | in : Parcel | provenance | |
| Test.java:186:24:186:31 | source(...) : Object | Test.java:186:16:186:31 | (...)... : Parcel | provenance | |
| Test.java:187:4:187:5 | in : Parcel | Test.java:187:15:187:17 | out [post update] : Map | provenance | MaD:22 |
| Test.java:187:15:187:17 | out [post update] : Map | Test.java:188:9:188:11 | out | provenance | |
| Test.java:193:16:193:31 | (...)... : Parcel | Test.java:194:10:194:11 | in : Parcel | provenance | |
| Test.java:193:24:193:31 | source(...) : Object | Test.java:193:16:193:31 | (...)... : Parcel | provenance | |
| Test.java:194:10:194:11 | in : Parcel | Test.java:194:10:194:32 | readParcelable(...) : Parcelable | provenance | MaD:23 |
| Test.java:194:10:194:32 | readParcelable(...) : Parcelable | Test.java:195:9:195:11 | out | provenance | |
| Test.java:200:16:200:31 | (...)... : Parcel | Test.java:201:10:201:11 | in : Parcel | provenance | |
| Test.java:200:24:200:31 | source(...) : Object | Test.java:200:16:200:31 | (...)... : Parcel | provenance | |
| Test.java:201:10:201:11 | in : Parcel | Test.java:201:10:201:37 | readParcelableArray(...) : Parcelable[] | provenance | MaD:24 |
| Test.java:201:10:201:37 | readParcelableArray(...) : Parcelable[] | Test.java:202:9:202:11 | out | provenance | |
| Test.java:207:16:207:31 | (...)... : Parcel | Test.java:208:4:208:5 | in : Parcel | provenance | |
| Test.java:207:24:207:31 | source(...) : Object | Test.java:207:16:207:31 | (...)... : Parcel | provenance | |
| Test.java:208:4:208:5 | in : Parcel | Test.java:208:26:208:28 | out [post update] : List | provenance | MaD:25 |
| Test.java:208:26:208:28 | out [post update] : List | Test.java:209:9:209:11 | out | provenance | |
| Test.java:214:14:214:27 | (...)... : List | Test.java:216:38:216:39 | in : List | provenance | |
| Test.java:214:20:214:27 | source(...) : Object | Test.java:214:14:214:27 | (...)... : List | provenance | |
| Test.java:216:10:216:46 | readParcelableList(...) : List | Test.java:217:9:217:11 | out | provenance | |
| Test.java:216:38:216:39 | in : List | Test.java:216:10:216:46 | readParcelableList(...) : List | provenance | MaD:26 |
| Test.java:222:16:222:31 | (...)... : Parcel | Test.java:223:10:223:11 | in : Parcel | provenance | |
| Test.java:222:24:222:31 | source(...) : Object | Test.java:222:16:222:31 | (...)... : Parcel | provenance | |
| Test.java:223:10:223:11 | in : Parcel | Test.java:223:10:223:39 | readPersistableBundle(...) : PersistableBundle | provenance | MaD:27 |
| Test.java:223:10:223:39 | readPersistableBundle(...) : PersistableBundle | Test.java:224:9:224:11 | out | provenance | |
| Test.java:229:16:229:31 | (...)... : Parcel | Test.java:230:10:230:11 | in : Parcel | provenance | |
| Test.java:229:24:229:31 | source(...) : Object | Test.java:229:16:229:31 | (...)... : Parcel | provenance | |
| Test.java:230:10:230:11 | in : Parcel | Test.java:230:10:230:35 | readPersistableBundle(...) : PersistableBundle | provenance | MaD:27 |
| Test.java:230:10:230:35 | readPersistableBundle(...) : PersistableBundle | Test.java:231:9:231:11 | out | provenance | |
| Test.java:236:16:236:31 | (...)... : Parcel | Test.java:237:10:237:11 | in : Parcel | provenance | |
| Test.java:236:24:236:31 | source(...) : Object | Test.java:236:16:236:31 | (...)... : Parcel | provenance | |
| Test.java:237:10:237:11 | in : Parcel | Test.java:237:10:237:30 | readSerializable(...) : Serializable | provenance | MaD:28 |
| Test.java:237:10:237:30 | readSerializable(...) : Serializable | Test.java:238:9:238:11 | out | provenance | |
| Test.java:243:16:243:31 | (...)... : Parcel | Test.java:244:10:244:11 | in : Parcel | provenance | |
| Test.java:243:24:243:31 | source(...) : Object | Test.java:243:16:243:31 | (...)... : Parcel | provenance | |
| Test.java:244:10:244:11 | in : Parcel | Test.java:244:10:244:22 | readSize(...) : Size | provenance | MaD:29 |
| Test.java:244:10:244:22 | readSize(...) : Size | Test.java:245:9:245:11 | out | provenance | |
| Test.java:250:16:250:31 | (...)... : Parcel | Test.java:251:10:251:11 | in : Parcel | provenance | |
| Test.java:250:24:250:31 | source(...) : Object | Test.java:250:16:250:31 | (...)... : Parcel | provenance | |
| Test.java:251:10:251:11 | in : Parcel | Test.java:251:10:251:23 | readSizeF(...) : SizeF | provenance | MaD:30 |
| Test.java:251:10:251:23 | readSizeF(...) : SizeF | Test.java:252:9:252:11 | out | provenance | |
| Test.java:257:16:257:31 | (...)... : Parcel | Test.java:258:10:258:11 | in : Parcel | provenance | |
| Test.java:257:24:257:31 | source(...) : Object | Test.java:257:16:257:31 | (...)... : Parcel | provenance | |
| Test.java:258:10:258:11 | in : Parcel | Test.java:258:10:258:33 | readSparseArray(...) : SparseArray | provenance | MaD:31 |
| Test.java:258:10:258:33 | readSparseArray(...) : SparseArray | Test.java:259:9:259:11 | out | provenance | |
| Test.java:264:16:264:31 | (...)... : Parcel | Test.java:265:10:265:11 | in : Parcel | provenance | |
| Test.java:264:24:264:31 | source(...) : Object | Test.java:264:16:264:31 | (...)... : Parcel | provenance | |
| Test.java:265:10:265:11 | in : Parcel | Test.java:265:10:265:36 | readSparseBooleanArray(...) : SparseBooleanArray | provenance | MaD:32 |
| Test.java:265:10:265:36 | readSparseBooleanArray(...) : SparseBooleanArray | Test.java:266:9:266:11 | out | provenance | |
| Test.java:271:16:271:31 | (...)... : Parcel | Test.java:272:10:272:11 | in : Parcel | provenance | |
| Test.java:271:24:271:31 | source(...) : Object | Test.java:271:16:271:31 | (...)... : Parcel | provenance | |
| Test.java:272:10:272:11 | in : Parcel | Test.java:272:10:272:24 | readString(...) : String | provenance | MaD:33 |
| Test.java:272:10:272:24 | readString(...) : String | Test.java:273:9:273:11 | out | provenance | |
| Test.java:278:16:278:31 | (...)... : Parcel | Test.java:279:4:279:5 | in : Parcel | provenance | |
| Test.java:278:24:278:31 | source(...) : Object | Test.java:278:16:278:31 | (...)... : Parcel | provenance | |
| Test.java:279:4:279:5 | in : Parcel | Test.java:279:23:279:25 | out [post update] : String[] | provenance | MaD:34 |
| Test.java:279:23:279:25 | out [post update] : String[] | Test.java:280:9:280:11 | out | provenance | |
| Test.java:285:16:285:31 | (...)... : Parcel | Test.java:286:4:286:5 | in : Parcel | provenance | |
| Test.java:285:24:285:31 | source(...) : Object | Test.java:285:16:285:31 | (...)... : Parcel | provenance | |
| Test.java:286:4:286:5 | in : Parcel | Test.java:286:22:286:24 | out [post update] : List | provenance | MaD:35 |
| Test.java:286:22:286:24 | out [post update] : List | Test.java:287:9:287:11 | out | provenance | |
| Test.java:292:16:292:31 | (...)... : Parcel | Test.java:293:10:293:11 | in : Parcel | provenance | |
| Test.java:292:24:292:31 | source(...) : Object | Test.java:292:16:292:31 | (...)... : Parcel | provenance | |
| Test.java:293:10:293:11 | in : Parcel | Test.java:293:10:293:30 | readStrongBinder(...) : IBinder | provenance | MaD:36 |
| Test.java:293:10:293:30 | readStrongBinder(...) : IBinder | Test.java:294:9:294:11 | out | provenance | |
| Test.java:299:16:299:31 | (...)... : Parcel | Test.java:300:4:300:5 | in : Parcel | provenance | |
| Test.java:299:24:299:31 | source(...) : Object | Test.java:299:16:299:31 | (...)... : Parcel | provenance | |
| Test.java:300:4:300:5 | in : Parcel | Test.java:300:22:300:24 | out [post update] : Object[] | provenance | MaD:37 |
| Test.java:300:22:300:24 | out [post update] : Object[] | Test.java:301:9:301:11 | out | provenance | |
| Test.java:306:16:306:31 | (...)... : Parcel | Test.java:307:4:307:5 | in : Parcel | provenance | |
| Test.java:306:24:306:31 | source(...) : Object | Test.java:306:16:306:31 | (...)... : Parcel | provenance | |
| Test.java:307:4:307:5 | in : Parcel | Test.java:307:21:307:23 | out [post update] : List | provenance | MaD:38 |
| Test.java:307:21:307:23 | out [post update] : List | Test.java:308:9:308:11 | out | provenance | |
| Test.java:313:16:313:31 | (...)... : Parcel | Test.java:314:10:314:11 | in : Parcel | provenance | |
| Test.java:313:24:313:31 | source(...) : Object | Test.java:313:16:313:31 | (...)... : Parcel | provenance | |
| Test.java:314:10:314:11 | in : Parcel | Test.java:314:10:314:33 | readTypedObject(...) : Object | provenance | MaD:39 |
| Test.java:314:10:314:33 | readTypedObject(...) : Object | Test.java:315:9:315:11 | out | provenance | |
| Test.java:320:16:320:31 | (...)... : Parcel | Test.java:321:10:321:11 | in : Parcel | provenance | |
| Test.java:320:24:320:31 | source(...) : Object | Test.java:320:16:320:31 | (...)... : Parcel | provenance | |
| Test.java:321:10:321:11 | in : Parcel | Test.java:321:10:321:27 | readValue(...) : Object | provenance | MaD:40 |
| Test.java:321:10:321:27 | readValue(...) : Object | Test.java:322:9:322:11 | out | provenance | |
nodes
| Test.java:32:16:32:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:32:24:32:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:33:10:33:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:33:10:33:27 | readArray(...) : Object[] | semmle.label | readArray(...) : Object[] |
| Test.java:34:9:34:11 | out | semmle.label | out |
| Test.java:39:16:39:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:39:24:39:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:40:10:40:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:40:10:40:31 | readArrayList(...) : ArrayList | semmle.label | readArrayList(...) : ArrayList |
| Test.java:41:9:41:11 | out | semmle.label | out |
| Test.java:46:16:46:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:46:24:46:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:47:4:47:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:47:23:47:25 | out [post update] : IBinder[] | semmle.label | out [post update] : IBinder[] |
| Test.java:48:9:48:11 | out | semmle.label | out |
| Test.java:53:16:53:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:53:24:53:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:54:4:54:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:54:22:54:24 | out [post update] : List | semmle.label | out [post update] : List |
| Test.java:55:9:55:11 | out | semmle.label | out |
| Test.java:60:16:60:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:60:24:60:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:61:10:61:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:61:10:61:25 | readBoolean(...) : Boolean | semmle.label | readBoolean(...) : Boolean |
| Test.java:62:9:62:11 | out | semmle.label | out |
| Test.java:67:16:67:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:67:24:67:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:68:4:68:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:68:24:68:26 | out [post update] : boolean[] | semmle.label | out [post update] : boolean[] |
| Test.java:69:9:69:11 | out | semmle.label | out |
| Test.java:74:16:74:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:74:24:74:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:75:10:75:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:75:10:75:28 | readBundle(...) : Bundle | semmle.label | readBundle(...) : Bundle |
| Test.java:76:9:76:11 | out | semmle.label | out |
| Test.java:81:16:81:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:81:24:81:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:82:10:82:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:82:10:82:24 | readBundle(...) : Bundle | semmle.label | readBundle(...) : Bundle |
| Test.java:83:9:83:11 | out | semmle.label | out |
| Test.java:88:16:88:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:88:24:88:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:89:10:89:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:89:10:89:22 | readByte(...) : Number | semmle.label | readByte(...) : Number |
| Test.java:90:9:90:11 | out | semmle.label | out |
| Test.java:95:16:95:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:95:24:95:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:96:4:96:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:96:21:96:23 | out [post update] : byte[] | semmle.label | out [post update] : byte[] |
| Test.java:97:9:97:11 | out | semmle.label | out |
| Test.java:102:16:102:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:102:24:102:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:103:4:103:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:103:21:103:23 | out [post update] : char[] | semmle.label | out [post update] : char[] |
| Test.java:104:9:104:11 | out | semmle.label | out |
| Test.java:109:16:109:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:109:24:109:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:110:10:110:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:110:10:110:24 | readDouble(...) : Number | semmle.label | readDouble(...) : Number |
| Test.java:111:9:111:11 | out | semmle.label | out |
| Test.java:116:16:116:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:116:24:116:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:117:4:117:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:117:23:117:25 | out [post update] : double[] | semmle.label | out [post update] : double[] |
| Test.java:118:9:118:11 | out | semmle.label | out |
| Test.java:123:16:123:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:123:24:123:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:124:10:124:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:124:10:124:32 | readFileDescriptor(...) : ParcelFileDescriptor | semmle.label | readFileDescriptor(...) : ParcelFileDescriptor |
| Test.java:125:9:125:11 | out | semmle.label | out |
| Test.java:130:16:130:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:130:24:130:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:131:10:131:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:131:10:131:23 | readFloat(...) : Number | semmle.label | readFloat(...) : Number |
| Test.java:132:9:132:11 | out | semmle.label | out |
| Test.java:137:16:137:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:137:24:137:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:138:4:138:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:138:22:138:24 | out [post update] : float[] | semmle.label | out [post update] : float[] |
| Test.java:139:9:139:11 | out | semmle.label | out |
| Test.java:144:16:144:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:144:24:144:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:145:10:145:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:145:10:145:29 | readHashMap(...) : HashMap | semmle.label | readHashMap(...) : HashMap |
| Test.java:146:9:146:11 | out | semmle.label | out |
| Test.java:151:16:151:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:151:24:151:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:152:10:152:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:152:10:152:21 | readInt(...) : Number | semmle.label | readInt(...) : Number |
| Test.java:153:9:153:11 | out | semmle.label | out |
| Test.java:158:16:158:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:158:24:158:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:159:4:159:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:159:20:159:22 | out [post update] : int[] | semmle.label | out [post update] : int[] |
| Test.java:160:9:160:11 | out | semmle.label | out |
| Test.java:165:16:165:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:165:24:165:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:166:4:166:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:166:16:166:18 | out [post update] : List | semmle.label | out [post update] : List |
| Test.java:167:9:167:11 | out | semmle.label | out |
| Test.java:172:16:172:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:172:24:172:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:173:10:173:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:173:10:173:22 | readLong(...) : Number | semmle.label | readLong(...) : Number |
| Test.java:174:9:174:11 | out | semmle.label | out |
| Test.java:179:16:179:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:179:24:179:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:180:4:180:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:180:21:180:23 | out [post update] : long[] | semmle.label | out [post update] : long[] |
| Test.java:181:9:181:11 | out | semmle.label | out |
| Test.java:186:16:186:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:186:24:186:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:187:4:187:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:187:15:187:17 | out [post update] : Map | semmle.label | out [post update] : Map |
| Test.java:188:9:188:11 | out | semmle.label | out |
| Test.java:193:16:193:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:193:24:193:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:194:10:194:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:194:10:194:32 | readParcelable(...) : Parcelable | semmle.label | readParcelable(...) : Parcelable |
| Test.java:195:9:195:11 | out | semmle.label | out |
| Test.java:200:16:200:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:200:24:200:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:201:10:201:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:201:10:201:37 | readParcelableArray(...) : Parcelable[] | semmle.label | readParcelableArray(...) : Parcelable[] |
| Test.java:202:9:202:11 | out | semmle.label | out |
| Test.java:207:16:207:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:207:24:207:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:208:4:208:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:208:26:208:28 | out [post update] : List | semmle.label | out [post update] : List |
| Test.java:209:9:209:11 | out | semmle.label | out |
| Test.java:214:14:214:27 | (...)... : List | semmle.label | (...)... : List |
| Test.java:214:20:214:27 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:216:10:216:46 | readParcelableList(...) : List | semmle.label | readParcelableList(...) : List |
| Test.java:216:38:216:39 | in : List | semmle.label | in : List |
| Test.java:217:9:217:11 | out | semmle.label | out |
| Test.java:222:16:222:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:222:24:222:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:223:10:223:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:223:10:223:39 | readPersistableBundle(...) : PersistableBundle | semmle.label | readPersistableBundle(...) : PersistableBundle |
| Test.java:224:9:224:11 | out | semmle.label | out |
| Test.java:229:16:229:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:229:24:229:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:230:10:230:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:230:10:230:35 | readPersistableBundle(...) : PersistableBundle | semmle.label | readPersistableBundle(...) : PersistableBundle |
| Test.java:231:9:231:11 | out | semmle.label | out |
| Test.java:236:16:236:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:236:24:236:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:237:10:237:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:237:10:237:30 | readSerializable(...) : Serializable | semmle.label | readSerializable(...) : Serializable |
| Test.java:238:9:238:11 | out | semmle.label | out |
| Test.java:243:16:243:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:243:24:243:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:244:10:244:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:244:10:244:22 | readSize(...) : Size | semmle.label | readSize(...) : Size |
| Test.java:245:9:245:11 | out | semmle.label | out |
| Test.java:250:16:250:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:250:24:250:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:251:10:251:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:251:10:251:23 | readSizeF(...) : SizeF | semmle.label | readSizeF(...) : SizeF |
| Test.java:252:9:252:11 | out | semmle.label | out |
| Test.java:257:16:257:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:257:24:257:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:258:10:258:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:258:10:258:33 | readSparseArray(...) : SparseArray | semmle.label | readSparseArray(...) : SparseArray |
| Test.java:259:9:259:11 | out | semmle.label | out |
| Test.java:264:16:264:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:264:24:264:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:265:10:265:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:265:10:265:36 | readSparseBooleanArray(...) : SparseBooleanArray | semmle.label | readSparseBooleanArray(...) : SparseBooleanArray |
| Test.java:266:9:266:11 | out | semmle.label | out |
| Test.java:271:16:271:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:271:24:271:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:272:10:272:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:272:10:272:24 | readString(...) : String | semmle.label | readString(...) : String |
| Test.java:273:9:273:11 | out | semmle.label | out |
| Test.java:278:16:278:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:278:24:278:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:279:4:279:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:279:23:279:25 | out [post update] : String[] | semmle.label | out [post update] : String[] |
| Test.java:280:9:280:11 | out | semmle.label | out |
| Test.java:285:16:285:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:285:24:285:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:286:4:286:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:286:22:286:24 | out [post update] : List | semmle.label | out [post update] : List |
| Test.java:287:9:287:11 | out | semmle.label | out |
| Test.java:292:16:292:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:292:24:292:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:293:10:293:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:293:10:293:30 | readStrongBinder(...) : IBinder | semmle.label | readStrongBinder(...) : IBinder |
| Test.java:294:9:294:11 | out | semmle.label | out |
| Test.java:299:16:299:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:299:24:299:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:300:4:300:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:300:22:300:24 | out [post update] : Object[] | semmle.label | out [post update] : Object[] |
| Test.java:301:9:301:11 | out | semmle.label | out |
| Test.java:306:16:306:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:306:24:306:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:307:4:307:5 | in : Parcel | semmle.label | in : Parcel |
| Test.java:307:21:307:23 | out [post update] : List | semmle.label | out [post update] : List |
| Test.java:308:9:308:11 | out | semmle.label | out |
| Test.java:313:16:313:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:313:24:313:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:314:10:314:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:314:10:314:33 | readTypedObject(...) : Object | semmle.label | readTypedObject(...) : Object |
| Test.java:315:9:315:11 | out | semmle.label | out |
| Test.java:320:16:320:31 | (...)... : Parcel | semmle.label | (...)... : Parcel |
| Test.java:320:24:320:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:321:10:321:11 | in : Parcel | semmle.label | in : Parcel |
| Test.java:321:10:321:27 | readValue(...) : Object | semmle.label | readValue(...) : Object |
| Test.java:322:9:322:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -2,3 +2,4 @@ import java
import semmle.code.java.frameworks.android.Intent
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,650 @@
models
| 1 | Summary: android.net; Uri; true; buildUpon; ; ; Argument[this]; ReturnValue; taint; manual |
| 2 | Summary: android.net; Uri; false; decode; ; ; Argument[0]; ReturnValue; taint; manual |
| 3 | Summary: android.net; Uri; false; encode; ; ; Argument[0]; ReturnValue; taint; manual |
| 4 | Summary: android.net; Uri; false; fromFile; ; ; Argument[0]; ReturnValue; taint; manual |
| 5 | Summary: android.net; Uri; false; fromParts; ; ; Argument[0..2]; ReturnValue; taint; manual |
| 6 | Summary: android.net; Uri; true; getAuthority; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: android.net; Uri; true; getEncodedAuthority; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: android.net; Uri; true; getEncodedFragment; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: android.net; Uri; true; getEncodedPath; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: android.net; Uri; true; getEncodedQuery; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: android.net; Uri; true; getEncodedSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: android.net; Uri; true; getEncodedUserInfo; ; ; Argument[this]; ReturnValue; taint; manual |
| 13 | Summary: android.net; Uri; true; getFragment; ; ; Argument[this]; ReturnValue; taint; manual |
| 14 | Summary: android.net; Uri; true; getHost; ; ; Argument[this]; ReturnValue; taint; manual |
| 15 | Summary: android.net; Uri; true; getLastPathSegment; ; ; Argument[this]; ReturnValue; taint; manual |
| 16 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual |
| 17 | Summary: android.net; Uri; true; getPathSegments; ; ; Argument[this]; ReturnValue; taint; manual |
| 18 | Summary: android.net; Uri; true; getQuery; ; ; Argument[this]; ReturnValue; taint; manual |
| 19 | Summary: android.net; Uri; true; getQueryParameter; ; ; Argument[this]; ReturnValue; taint; manual |
| 20 | Summary: android.net; Uri; true; getQueryParameterNames; ; ; Argument[this]; ReturnValue; taint; manual |
| 21 | Summary: android.net; Uri; true; getQueryParameters; ; ; Argument[this]; ReturnValue; taint; manual |
| 22 | Summary: android.net; Uri; true; getScheme; ; ; Argument[this]; ReturnValue; taint; manual |
| 23 | Summary: android.net; Uri; true; getSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual |
| 24 | Summary: android.net; Uri; true; getUserInfo; ; ; Argument[this]; ReturnValue; taint; manual |
| 25 | Summary: android.net; Uri; true; normalizeScheme; ; ; Argument[this]; ReturnValue; taint; manual |
| 26 | Summary: android.net; Uri; false; parse; ; ; Argument[0]; ReturnValue; taint; manual |
| 27 | Summary: android.net; Uri; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
| 28 | Summary: android.net; Uri; false; withAppendedPath; ; ; Argument[0..1]; ReturnValue; taint; manual |
| 29 | Summary: android.net; Uri; false; writeToParcel; ; ; Argument[1]; Argument[0]; taint; manual |
| 30 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[this]; ReturnValue; value; manual |
| 31 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[0]; Argument[this]; taint; manual |
| 32 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[this]; ReturnValue; value; manual |
| 33 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[0]; Argument[this]; taint; manual |
| 34 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[this]; ReturnValue; value; manual |
| 35 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[0..1]; Argument[this]; taint; manual |
| 36 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[this]; ReturnValue; value; manual |
| 37 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[0]; Argument[this]; taint; manual |
| 38 | Summary: android.net; Uri$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual |
| 39 | Summary: android.net; Uri$Builder; false; clearQuery; ; ; Argument[this]; ReturnValue; value; manual |
| 40 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[this]; ReturnValue; value; manual |
| 41 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[0]; Argument[this]; taint; manual |
| 42 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[this]; ReturnValue; value; manual |
| 43 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[0]; Argument[this]; taint; manual |
| 44 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[this]; ReturnValue; value; manual |
| 45 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[0]; Argument[this]; taint; manual |
| 46 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[this]; ReturnValue; value; manual |
| 47 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[0]; Argument[this]; taint; manual |
| 48 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[this]; ReturnValue; value; manual |
| 49 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[0]; Argument[this]; taint; manual |
| 50 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[this]; ReturnValue; value; manual |
| 51 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[0]; Argument[this]; taint; manual |
| 52 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[this]; ReturnValue; value; manual |
| 53 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[0]; Argument[this]; taint; manual |
| 54 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[this]; ReturnValue; value; manual |
| 55 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[0]; Argument[this]; taint; manual |
| 56 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[this]; ReturnValue; value; manual |
| 57 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[0]; Argument[this]; taint; manual |
| 58 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[this]; ReturnValue; value; manual |
| 59 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[0]; Argument[this]; taint; manual |
| 60 | Summary: android.net; Uri$Builder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual |
edges
| Test.java:20:21:20:41 | (...)... : Builder | Test.java:21:10:21:11 | in : Builder | provenance | |
| Test.java:20:34:20:41 | source(...) : Object | Test.java:20:21:20:41 | (...)... : Builder | provenance | |
| Test.java:21:10:21:11 | in : Builder | Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | provenance | MaD:30 |
| Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | Test.java:22:9:22:11 | out | provenance | |
| Test.java:27:16:27:31 | (...)... : String | Test.java:28:26:28:27 | in : String | provenance | |
| Test.java:27:24:27:31 | source(...) : Object | Test.java:27:16:27:31 | (...)... : String | provenance | |
| Test.java:28:4:28:6 | out [post update] : Builder | Test.java:29:9:29:11 | out | provenance | |
| Test.java:28:26:28:27 | in : String | Test.java:28:4:28:6 | out [post update] : Builder | provenance | MaD:31 |
| Test.java:34:21:34:41 | (...)... : Builder | Test.java:35:10:35:11 | in : Builder | provenance | |
| Test.java:34:34:34:41 | source(...) : Object | Test.java:34:21:34:41 | (...)... : Builder | provenance | |
| Test.java:35:10:35:11 | in : Builder | Test.java:35:10:35:28 | appendPath(...) : Builder | provenance | MaD:32 |
| Test.java:35:10:35:28 | appendPath(...) : Builder | Test.java:36:9:36:11 | out | provenance | |
| Test.java:41:16:41:31 | (...)... : String | Test.java:42:19:42:20 | in : String | provenance | |
| Test.java:41:24:41:31 | source(...) : Object | Test.java:41:16:41:31 | (...)... : String | provenance | |
| Test.java:42:4:42:6 | out [post update] : Builder | Test.java:43:9:43:11 | out | provenance | |
| Test.java:42:19:42:20 | in : String | Test.java:42:4:42:6 | out [post update] : Builder | provenance | MaD:33 |
| Test.java:48:21:48:41 | (...)... : Builder | Test.java:49:10:49:11 | in : Builder | provenance | |
| Test.java:48:34:48:41 | source(...) : Object | Test.java:48:21:48:41 | (...)... : Builder | provenance | |
| Test.java:49:10:49:11 | in : Builder | Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | provenance | MaD:34 |
| Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | Test.java:50:9:50:11 | out | provenance | |
| Test.java:55:16:55:31 | (...)... : String | Test.java:56:35:56:36 | in : String | provenance | |
| Test.java:55:24:55:31 | source(...) : Object | Test.java:55:16:55:31 | (...)... : String | provenance | |
| Test.java:56:4:56:6 | out [post update] : Builder | Test.java:57:9:57:11 | out | provenance | |
| Test.java:56:35:56:36 | in : String | Test.java:56:4:56:6 | out [post update] : Builder | provenance | MaD:35 |
| Test.java:62:16:62:31 | (...)... : String | Test.java:63:29:63:30 | in : String | provenance | |
| Test.java:62:24:62:31 | source(...) : Object | Test.java:62:16:62:31 | (...)... : String | provenance | |
| Test.java:63:4:63:6 | out [post update] : Builder | Test.java:64:9:64:11 | out | provenance | |
| Test.java:63:29:63:30 | in : String | Test.java:63:4:63:6 | out [post update] : Builder | provenance | MaD:35 |
| Test.java:69:21:69:41 | (...)... : Builder | Test.java:70:10:70:11 | in : Builder | provenance | |
| Test.java:69:34:69:41 | source(...) : Object | Test.java:69:21:69:41 | (...)... : Builder | provenance | |
| Test.java:70:10:70:11 | in : Builder | Test.java:70:10:70:27 | authority(...) : Builder | provenance | MaD:36 |
| Test.java:70:10:70:27 | authority(...) : Builder | Test.java:71:9:71:11 | out | provenance | |
| Test.java:76:16:76:31 | (...)... : String | Test.java:77:18:77:19 | in : String | provenance | |
| Test.java:76:24:76:31 | source(...) : Object | Test.java:76:16:76:31 | (...)... : String | provenance | |
| Test.java:77:4:77:6 | out [post update] : Builder | Test.java:78:9:78:11 | out | provenance | |
| Test.java:77:18:77:19 | in : String | Test.java:77:4:77:6 | out [post update] : Builder | provenance | MaD:37 |
| Test.java:83:21:83:41 | (...)... : Builder | Test.java:84:10:84:11 | in : Builder | provenance | |
| Test.java:83:34:83:41 | source(...) : Object | Test.java:83:21:83:41 | (...)... : Builder | provenance | |
| Test.java:84:10:84:11 | in : Builder | Test.java:84:10:84:19 | build(...) : Uri | provenance | MaD:38 |
| Test.java:84:10:84:19 | build(...) : Uri | Test.java:85:9:85:11 | out | provenance | |
| Test.java:90:21:90:41 | (...)... : Builder | Test.java:91:10:91:11 | in : Builder | provenance | |
| Test.java:90:34:90:41 | source(...) : Object | Test.java:90:21:90:41 | (...)... : Builder | provenance | |
| Test.java:91:10:91:11 | in : Builder | Test.java:91:10:91:24 | clearQuery(...) : Builder | provenance | MaD:39 |
| Test.java:91:10:91:24 | clearQuery(...) : Builder | Test.java:92:9:92:11 | out | provenance | |
| Test.java:97:21:97:41 | (...)... : Builder | Test.java:98:10:98:11 | in : Builder | provenance | |
| Test.java:97:34:97:41 | source(...) : Object | Test.java:97:21:97:41 | (...)... : Builder | provenance | |
| Test.java:98:10:98:11 | in : Builder | Test.java:98:10:98:34 | encodedAuthority(...) : Builder | provenance | MaD:40 |
| Test.java:98:10:98:34 | encodedAuthority(...) : Builder | Test.java:99:9:99:11 | out | provenance | |
| Test.java:104:16:104:31 | (...)... : String | Test.java:105:25:105:26 | in : String | provenance | |
| Test.java:104:24:104:31 | source(...) : Object | Test.java:104:16:104:31 | (...)... : String | provenance | |
| Test.java:105:4:105:6 | out [post update] : Builder | Test.java:106:9:106:11 | out | provenance | |
| Test.java:105:25:105:26 | in : String | Test.java:105:4:105:6 | out [post update] : Builder | provenance | MaD:41 |
| Test.java:111:21:111:41 | (...)... : Builder | Test.java:112:10:112:11 | in : Builder | provenance | |
| Test.java:111:34:111:41 | source(...) : Object | Test.java:111:21:111:41 | (...)... : Builder | provenance | |
| Test.java:112:10:112:11 | in : Builder | Test.java:112:10:112:33 | encodedFragment(...) : Builder | provenance | MaD:42 |
| Test.java:112:10:112:33 | encodedFragment(...) : Builder | Test.java:113:9:113:11 | out | provenance | |
| Test.java:118:16:118:31 | (...)... : String | Test.java:119:24:119:25 | in : String | provenance | |
| Test.java:118:24:118:31 | source(...) : Object | Test.java:118:16:118:31 | (...)... : String | provenance | |
| Test.java:119:4:119:6 | out [post update] : Builder | Test.java:120:9:120:11 | out | provenance | |
| Test.java:119:24:119:25 | in : String | Test.java:119:4:119:6 | out [post update] : Builder | provenance | MaD:43 |
| Test.java:125:21:125:41 | (...)... : Builder | Test.java:126:10:126:11 | in : Builder | provenance | |
| Test.java:125:34:125:41 | source(...) : Object | Test.java:125:21:125:41 | (...)... : Builder | provenance | |
| Test.java:126:10:126:11 | in : Builder | Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | provenance | MaD:44 |
| Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | Test.java:127:9:127:11 | out | provenance | |
| Test.java:132:16:132:31 | (...)... : String | Test.java:133:26:133:27 | in : String | provenance | |
| Test.java:132:24:132:31 | source(...) : Object | Test.java:132:16:132:31 | (...)... : String | provenance | |
| Test.java:133:4:133:6 | out [post update] : Builder | Test.java:134:9:134:11 | out | provenance | |
| Test.java:133:26:133:27 | in : String | Test.java:133:4:133:6 | out [post update] : Builder | provenance | MaD:45 |
| Test.java:139:21:139:41 | (...)... : Builder | Test.java:140:10:140:11 | in : Builder | provenance | |
| Test.java:139:34:139:41 | source(...) : Object | Test.java:139:21:139:41 | (...)... : Builder | provenance | |
| Test.java:140:10:140:11 | in : Builder | Test.java:140:10:140:29 | encodedPath(...) : Builder | provenance | MaD:46 |
| Test.java:140:10:140:29 | encodedPath(...) : Builder | Test.java:141:9:141:11 | out | provenance | |
| Test.java:146:16:146:31 | (...)... : String | Test.java:147:20:147:21 | in : String | provenance | |
| Test.java:146:24:146:31 | source(...) : Object | Test.java:146:16:146:31 | (...)... : String | provenance | |
| Test.java:147:4:147:6 | out [post update] : Builder | Test.java:148:9:148:11 | out | provenance | |
| Test.java:147:20:147:21 | in : String | Test.java:147:4:147:6 | out [post update] : Builder | provenance | MaD:47 |
| Test.java:153:21:153:41 | (...)... : Builder | Test.java:154:10:154:11 | in : Builder | provenance | |
| Test.java:153:34:153:41 | source(...) : Object | Test.java:153:21:153:41 | (...)... : Builder | provenance | |
| Test.java:154:10:154:11 | in : Builder | Test.java:154:10:154:30 | encodedQuery(...) : Builder | provenance | MaD:48 |
| Test.java:154:10:154:30 | encodedQuery(...) : Builder | Test.java:155:9:155:11 | out | provenance | |
| Test.java:160:16:160:31 | (...)... : String | Test.java:161:21:161:22 | in : String | provenance | |
| Test.java:160:24:160:31 | source(...) : Object | Test.java:160:16:160:31 | (...)... : String | provenance | |
| Test.java:161:4:161:6 | out [post update] : Builder | Test.java:162:9:162:11 | out | provenance | |
| Test.java:161:21:161:22 | in : String | Test.java:161:4:161:6 | out [post update] : Builder | provenance | MaD:49 |
| Test.java:167:21:167:41 | (...)... : Builder | Test.java:168:10:168:11 | in : Builder | provenance | |
| Test.java:167:34:167:41 | source(...) : Object | Test.java:167:21:167:41 | (...)... : Builder | provenance | |
| Test.java:168:10:168:11 | in : Builder | Test.java:168:10:168:26 | fragment(...) : Builder | provenance | MaD:50 |
| Test.java:168:10:168:26 | fragment(...) : Builder | Test.java:169:9:169:11 | out | provenance | |
| Test.java:174:16:174:31 | (...)... : String | Test.java:175:17:175:18 | in : String | provenance | |
| Test.java:174:24:174:31 | source(...) : Object | Test.java:174:16:174:31 | (...)... : String | provenance | |
| Test.java:175:4:175:6 | out [post update] : Builder | Test.java:176:9:176:11 | out | provenance | |
| Test.java:175:17:175:18 | in : String | Test.java:175:4:175:6 | out [post update] : Builder | provenance | MaD:51 |
| Test.java:181:21:181:41 | (...)... : Builder | Test.java:182:10:182:11 | in : Builder | provenance | |
| Test.java:181:34:181:41 | source(...) : Object | Test.java:181:21:181:41 | (...)... : Builder | provenance | |
| Test.java:182:10:182:11 | in : Builder | Test.java:182:10:182:28 | opaquePart(...) : Builder | provenance | MaD:52 |
| Test.java:182:10:182:28 | opaquePart(...) : Builder | Test.java:183:9:183:11 | out | provenance | |
| Test.java:188:16:188:31 | (...)... : String | Test.java:189:19:189:20 | in : String | provenance | |
| Test.java:188:24:188:31 | source(...) : Object | Test.java:188:16:188:31 | (...)... : String | provenance | |
| Test.java:189:4:189:6 | out [post update] : Builder | Test.java:190:9:190:11 | out | provenance | |
| Test.java:189:19:189:20 | in : String | Test.java:189:4:189:6 | out [post update] : Builder | provenance | MaD:53 |
| Test.java:195:21:195:41 | (...)... : Builder | Test.java:196:10:196:11 | in : Builder | provenance | |
| Test.java:195:34:195:41 | source(...) : Object | Test.java:195:21:195:41 | (...)... : Builder | provenance | |
| Test.java:196:10:196:11 | in : Builder | Test.java:196:10:196:22 | path(...) : Builder | provenance | MaD:54 |
| Test.java:196:10:196:22 | path(...) : Builder | Test.java:197:9:197:11 | out | provenance | |
| Test.java:202:16:202:31 | (...)... : String | Test.java:203:13:203:14 | in : String | provenance | |
| Test.java:202:24:202:31 | source(...) : Object | Test.java:202:16:202:31 | (...)... : String | provenance | |
| Test.java:203:4:203:6 | out [post update] : Builder | Test.java:204:9:204:11 | out | provenance | |
| Test.java:203:13:203:14 | in : String | Test.java:203:4:203:6 | out [post update] : Builder | provenance | MaD:55 |
| Test.java:209:21:209:41 | (...)... : Builder | Test.java:210:10:210:11 | in : Builder | provenance | |
| Test.java:209:34:209:41 | source(...) : Object | Test.java:209:21:209:41 | (...)... : Builder | provenance | |
| Test.java:210:10:210:11 | in : Builder | Test.java:210:10:210:23 | query(...) : Builder | provenance | MaD:56 |
| Test.java:210:10:210:23 | query(...) : Builder | Test.java:211:9:211:11 | out | provenance | |
| Test.java:216:16:216:31 | (...)... : String | Test.java:217:14:217:15 | in : String | provenance | |
| Test.java:216:24:216:31 | source(...) : Object | Test.java:216:16:216:31 | (...)... : String | provenance | |
| Test.java:217:4:217:6 | out [post update] : Builder | Test.java:218:9:218:11 | out | provenance | |
| Test.java:217:14:217:15 | in : String | Test.java:217:4:217:6 | out [post update] : Builder | provenance | MaD:57 |
| Test.java:223:21:223:41 | (...)... : Builder | Test.java:224:10:224:11 | in : Builder | provenance | |
| Test.java:223:34:223:41 | source(...) : Object | Test.java:223:21:223:41 | (...)... : Builder | provenance | |
| Test.java:224:10:224:11 | in : Builder | Test.java:224:10:224:24 | scheme(...) : Builder | provenance | MaD:58 |
| Test.java:224:10:224:24 | scheme(...) : Builder | Test.java:225:9:225:11 | out | provenance | |
| Test.java:230:16:230:31 | (...)... : String | Test.java:231:15:231:16 | in : String | provenance | |
| Test.java:230:24:230:31 | source(...) : Object | Test.java:230:16:230:31 | (...)... : String | provenance | |
| Test.java:231:4:231:6 | out [post update] : Builder | Test.java:232:9:232:11 | out | provenance | |
| Test.java:231:15:231:16 | in : String | Test.java:231:4:231:6 | out [post update] : Builder | provenance | MaD:59 |
| Test.java:237:21:237:41 | (...)... : Builder | Test.java:238:10:238:11 | in : Builder | provenance | |
| Test.java:237:34:237:41 | source(...) : Object | Test.java:237:21:237:41 | (...)... : Builder | provenance | |
| Test.java:238:10:238:11 | in : Builder | Test.java:238:10:238:22 | toString(...) : String | provenance | MaD:60 |
| Test.java:238:10:238:22 | toString(...) : String | Test.java:239:9:239:11 | out | provenance | |
| Test.java:244:16:244:31 | (...)... : String | Test.java:245:21:245:22 | in : String | provenance | |
| Test.java:244:24:244:31 | source(...) : Object | Test.java:244:16:244:31 | (...)... : String | provenance | |
| Test.java:245:10:245:23 | decode(...) : String | Test.java:246:9:246:11 | out | provenance | |
| Test.java:245:21:245:22 | in : String | Test.java:245:10:245:23 | decode(...) : String | provenance | MaD:2 |
| Test.java:251:16:251:31 | (...)... : String | Test.java:252:21:252:22 | in : String | provenance | |
| Test.java:251:24:251:31 | source(...) : Object | Test.java:251:16:251:31 | (...)... : String | provenance | |
| Test.java:252:10:252:29 | encode(...) : String | Test.java:253:9:253:11 | out | provenance | |
| Test.java:252:21:252:22 | in : String | Test.java:252:10:252:29 | encode(...) : String | provenance | MaD:3 |
| Test.java:258:16:258:31 | (...)... : String | Test.java:259:21:259:22 | in : String | provenance | |
| Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : String | provenance | |
| Test.java:259:10:259:23 | encode(...) : String | Test.java:260:9:260:11 | out | provenance | |
| Test.java:259:21:259:22 | in : String | Test.java:259:10:259:23 | encode(...) : String | provenance | MaD:3 |
| Test.java:265:14:265:27 | (...)... : File | Test.java:266:23:266:24 | in : File | provenance | |
| Test.java:265:20:265:27 | source(...) : Object | Test.java:265:14:265:27 | (...)... : File | provenance | |
| Test.java:266:10:266:25 | fromFile(...) : Uri | Test.java:267:9:267:11 | out | provenance | |
| Test.java:266:23:266:24 | in : File | Test.java:266:10:266:25 | fromFile(...) : Uri | provenance | MaD:4 |
| Test.java:272:16:272:31 | (...)... : String | Test.java:273:36:273:37 | in : String | provenance | |
| Test.java:272:24:272:31 | source(...) : Object | Test.java:272:16:272:31 | (...)... : String | provenance | |
| Test.java:273:10:273:38 | fromParts(...) : Uri | Test.java:274:9:274:11 | out | provenance | |
| Test.java:273:36:273:37 | in : String | Test.java:273:10:273:38 | fromParts(...) : Uri | provenance | MaD:5 |
| Test.java:279:16:279:31 | (...)... : String | Test.java:280:30:280:31 | in : String | provenance | |
| Test.java:279:24:279:31 | source(...) : Object | Test.java:279:16:279:31 | (...)... : String | provenance | |
| Test.java:280:10:280:38 | fromParts(...) : Uri | Test.java:281:9:281:11 | out | provenance | |
| Test.java:280:30:280:31 | in : String | Test.java:280:10:280:38 | fromParts(...) : Uri | provenance | MaD:5 |
| Test.java:286:16:286:31 | (...)... : String | Test.java:287:24:287:25 | in : String | provenance | |
| Test.java:286:24:286:31 | source(...) : Object | Test.java:286:16:286:31 | (...)... : String | provenance | |
| Test.java:287:10:287:38 | fromParts(...) : Uri | Test.java:288:9:288:11 | out | provenance | |
| Test.java:287:24:287:25 | in : String | Test.java:287:10:287:38 | fromParts(...) : Uri | provenance | MaD:5 |
| Test.java:293:16:293:31 | (...)... : String | Test.java:294:20:294:21 | in : String | provenance | |
| Test.java:293:24:293:31 | source(...) : Object | Test.java:293:16:293:31 | (...)... : String | provenance | |
| Test.java:294:10:294:22 | parse(...) : Uri | Test.java:295:9:295:11 | out | provenance | |
| Test.java:294:20:294:21 | in : String | Test.java:294:10:294:22 | parse(...) : Uri | provenance | MaD:26 |
| Test.java:300:13:300:25 | (...)... : Uri | Test.java:301:31:301:32 | in : Uri | provenance | |
| Test.java:300:18:300:25 | source(...) : Object | Test.java:300:13:300:25 | (...)... : Uri | provenance | |
| Test.java:301:10:301:39 | withAppendedPath(...) : Uri | Test.java:302:9:302:11 | out | provenance | |
| Test.java:301:31:301:32 | in : Uri | Test.java:301:10:301:39 | withAppendedPath(...) : Uri | provenance | MaD:28 |
| Test.java:307:16:307:31 | (...)... : String | Test.java:308:37:308:38 | in : String | provenance | |
| Test.java:307:24:307:31 | source(...) : Object | Test.java:307:16:307:31 | (...)... : String | provenance | |
| Test.java:308:10:308:39 | withAppendedPath(...) : Uri | Test.java:309:9:309:11 | out | provenance | |
| Test.java:308:37:308:38 | in : String | Test.java:308:10:308:39 | withAppendedPath(...) : Uri | provenance | MaD:28 |
| Test.java:314:13:314:25 | (...)... : Uri | Test.java:315:27:315:28 | in : Uri | provenance | |
| Test.java:314:18:314:25 | source(...) : Object | Test.java:314:13:314:25 | (...)... : Uri | provenance | |
| Test.java:315:22:315:24 | out [post update] : Parcel | Test.java:316:9:316:11 | out | provenance | |
| Test.java:315:27:315:28 | in : Uri | Test.java:315:22:315:24 | out [post update] : Parcel | provenance | MaD:29 |
| Test.java:321:13:321:25 | (...)... : Uri | Test.java:322:10:322:11 | in : Uri | provenance | |
| Test.java:321:18:321:25 | source(...) : Object | Test.java:321:13:321:25 | (...)... : Uri | provenance | |
| Test.java:322:10:322:11 | in : Uri | Test.java:322:10:322:23 | buildUpon(...) : Builder | provenance | MaD:1 |
| Test.java:322:10:322:23 | buildUpon(...) : Builder | Test.java:323:9:323:11 | out | provenance | |
| Test.java:328:13:328:25 | (...)... : Uri | Test.java:329:10:329:11 | in : Uri | provenance | |
| Test.java:328:18:328:25 | source(...) : Object | Test.java:328:13:328:25 | (...)... : Uri | provenance | |
| Test.java:329:10:329:11 | in : Uri | Test.java:329:10:329:26 | getAuthority(...) : String | provenance | MaD:6 |
| Test.java:329:10:329:26 | getAuthority(...) : String | Test.java:330:9:330:11 | out | provenance | |
| Test.java:335:13:335:25 | (...)... : Uri | Test.java:336:10:336:11 | in : Uri | provenance | |
| Test.java:335:18:335:25 | source(...) : Object | Test.java:335:13:335:25 | (...)... : Uri | provenance | |
| Test.java:336:10:336:11 | in : Uri | Test.java:336:10:336:33 | getEncodedAuthority(...) : String | provenance | MaD:7 |
| Test.java:336:10:336:33 | getEncodedAuthority(...) : String | Test.java:337:9:337:11 | out | provenance | |
| Test.java:342:13:342:25 | (...)... : Uri | Test.java:343:10:343:11 | in : Uri | provenance | |
| Test.java:342:18:342:25 | source(...) : Object | Test.java:342:13:342:25 | (...)... : Uri | provenance | |
| Test.java:343:10:343:11 | in : Uri | Test.java:343:10:343:32 | getEncodedFragment(...) : String | provenance | MaD:8 |
| Test.java:343:10:343:32 | getEncodedFragment(...) : String | Test.java:344:9:344:11 | out | provenance | |
| Test.java:349:13:349:25 | (...)... : Uri | Test.java:350:10:350:11 | in : Uri | provenance | |
| Test.java:349:18:349:25 | source(...) : Object | Test.java:349:13:349:25 | (...)... : Uri | provenance | |
| Test.java:350:10:350:11 | in : Uri | Test.java:350:10:350:28 | getEncodedPath(...) : String | provenance | MaD:9 |
| Test.java:350:10:350:28 | getEncodedPath(...) : String | Test.java:351:9:351:11 | out | provenance | |
| Test.java:356:13:356:25 | (...)... : Uri | Test.java:357:10:357:11 | in : Uri | provenance | |
| Test.java:356:18:356:25 | source(...) : Object | Test.java:356:13:356:25 | (...)... : Uri | provenance | |
| Test.java:357:10:357:11 | in : Uri | Test.java:357:10:357:29 | getEncodedQuery(...) : String | provenance | MaD:10 |
| Test.java:357:10:357:29 | getEncodedQuery(...) : String | Test.java:358:9:358:11 | out | provenance | |
| Test.java:363:13:363:25 | (...)... : Uri | Test.java:364:10:364:11 | in : Uri | provenance | |
| Test.java:363:18:363:25 | source(...) : Object | Test.java:363:13:363:25 | (...)... : Uri | provenance | |
| Test.java:364:10:364:11 | in : Uri | Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | provenance | MaD:11 |
| Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | Test.java:365:9:365:11 | out | provenance | |
| Test.java:370:13:370:25 | (...)... : Uri | Test.java:371:10:371:11 | in : Uri | provenance | |
| Test.java:370:18:370:25 | source(...) : Object | Test.java:370:13:370:25 | (...)... : Uri | provenance | |
| Test.java:371:10:371:11 | in : Uri | Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | provenance | MaD:12 |
| Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | Test.java:372:9:372:11 | out | provenance | |
| Test.java:377:13:377:25 | (...)... : Uri | Test.java:378:10:378:11 | in : Uri | provenance | |
| Test.java:377:18:377:25 | source(...) : Object | Test.java:377:13:377:25 | (...)... : Uri | provenance | |
| Test.java:378:10:378:11 | in : Uri | Test.java:378:10:378:25 | getFragment(...) : String | provenance | MaD:13 |
| Test.java:378:10:378:25 | getFragment(...) : String | Test.java:379:9:379:11 | out | provenance | |
| Test.java:384:13:384:25 | (...)... : Uri | Test.java:385:10:385:11 | in : Uri | provenance | |
| Test.java:384:18:384:25 | source(...) : Object | Test.java:384:13:384:25 | (...)... : Uri | provenance | |
| Test.java:385:10:385:11 | in : Uri | Test.java:385:10:385:21 | getHost(...) : String | provenance | MaD:14 |
| Test.java:385:10:385:21 | getHost(...) : String | Test.java:386:9:386:11 | out | provenance | |
| Test.java:391:13:391:25 | (...)... : Uri | Test.java:392:10:392:11 | in : Uri | provenance | |
| Test.java:391:18:391:25 | source(...) : Object | Test.java:391:13:391:25 | (...)... : Uri | provenance | |
| Test.java:392:10:392:11 | in : Uri | Test.java:392:10:392:32 | getLastPathSegment(...) : String | provenance | MaD:15 |
| Test.java:392:10:392:32 | getLastPathSegment(...) : String | Test.java:393:9:393:11 | out | provenance | |
| Test.java:398:13:398:25 | (...)... : Uri | Test.java:399:10:399:11 | in : Uri | provenance | |
| Test.java:398:18:398:25 | source(...) : Object | Test.java:398:13:398:25 | (...)... : Uri | provenance | |
| Test.java:399:10:399:11 | in : Uri | Test.java:399:10:399:21 | getPath(...) : String | provenance | MaD:16 |
| Test.java:399:10:399:21 | getPath(...) : String | Test.java:400:9:400:11 | out | provenance | |
| Test.java:405:13:405:25 | (...)... : Uri | Test.java:406:10:406:11 | in : Uri | provenance | |
| Test.java:405:18:405:25 | source(...) : Object | Test.java:405:13:405:25 | (...)... : Uri | provenance | |
| Test.java:406:10:406:11 | in : Uri | Test.java:406:10:406:29 | getPathSegments(...) : List | provenance | MaD:17 |
| Test.java:406:10:406:29 | getPathSegments(...) : List | Test.java:407:9:407:11 | out | provenance | |
| Test.java:412:13:412:25 | (...)... : Uri | Test.java:413:10:413:11 | in : Uri | provenance | |
| Test.java:412:18:412:25 | source(...) : Object | Test.java:412:13:412:25 | (...)... : Uri | provenance | |
| Test.java:413:10:413:11 | in : Uri | Test.java:413:10:413:22 | getQuery(...) : String | provenance | MaD:18 |
| Test.java:413:10:413:22 | getQuery(...) : String | Test.java:414:9:414:11 | out | provenance | |
| Test.java:419:13:419:25 | (...)... : Uri | Test.java:420:10:420:11 | in : Uri | provenance | |
| Test.java:419:18:419:25 | source(...) : Object | Test.java:419:13:419:25 | (...)... : Uri | provenance | |
| Test.java:420:10:420:11 | in : Uri | Test.java:420:10:420:35 | getQueryParameter(...) : String | provenance | MaD:19 |
| Test.java:420:10:420:35 | getQueryParameter(...) : String | Test.java:421:9:421:11 | out | provenance | |
| Test.java:426:13:426:25 | (...)... : Uri | Test.java:427:10:427:11 | in : Uri | provenance | |
| Test.java:426:18:426:25 | source(...) : Object | Test.java:426:13:426:25 | (...)... : Uri | provenance | |
| Test.java:427:10:427:11 | in : Uri | Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | provenance | MaD:20 |
| Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | Test.java:428:9:428:11 | out | provenance | |
| Test.java:433:13:433:25 | (...)... : Uri | Test.java:434:10:434:11 | in : Uri | provenance | |
| Test.java:433:18:433:25 | source(...) : Object | Test.java:433:13:433:25 | (...)... : Uri | provenance | |
| Test.java:434:10:434:11 | in : Uri | Test.java:434:10:434:36 | getQueryParameters(...) : List | provenance | MaD:21 |
| Test.java:434:10:434:36 | getQueryParameters(...) : List | Test.java:435:9:435:11 | out | provenance | |
| Test.java:440:13:440:25 | (...)... : Uri | Test.java:441:10:441:11 | in : Uri | provenance | |
| Test.java:440:18:440:25 | source(...) : Object | Test.java:440:13:440:25 | (...)... : Uri | provenance | |
| Test.java:441:10:441:11 | in : Uri | Test.java:441:10:441:23 | getScheme(...) : String | provenance | MaD:22 |
| Test.java:441:10:441:23 | getScheme(...) : String | Test.java:442:9:442:11 | out | provenance | |
| Test.java:447:13:447:25 | (...)... : Uri | Test.java:448:10:448:11 | in : Uri | provenance | |
| Test.java:447:18:447:25 | source(...) : Object | Test.java:447:13:447:25 | (...)... : Uri | provenance | |
| Test.java:448:10:448:11 | in : Uri | Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | provenance | MaD:23 |
| Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | Test.java:449:9:449:11 | out | provenance | |
| Test.java:454:13:454:25 | (...)... : Uri | Test.java:455:10:455:11 | in : Uri | provenance | |
| Test.java:454:18:454:25 | source(...) : Object | Test.java:454:13:454:25 | (...)... : Uri | provenance | |
| Test.java:455:10:455:11 | in : Uri | Test.java:455:10:455:25 | getUserInfo(...) : String | provenance | MaD:24 |
| Test.java:455:10:455:25 | getUserInfo(...) : String | Test.java:456:9:456:11 | out | provenance | |
| Test.java:461:13:461:25 | (...)... : Uri | Test.java:462:10:462:11 | in : Uri | provenance | |
| Test.java:461:18:461:25 | source(...) : Object | Test.java:461:13:461:25 | (...)... : Uri | provenance | |
| Test.java:462:10:462:11 | in : Uri | Test.java:462:10:462:29 | normalizeScheme(...) : Uri | provenance | MaD:25 |
| Test.java:462:10:462:29 | normalizeScheme(...) : Uri | Test.java:463:9:463:11 | out | provenance | |
| Test.java:468:13:468:25 | (...)... : Uri | Test.java:469:10:469:11 | in : Uri | provenance | |
| Test.java:468:18:468:25 | source(...) : Object | Test.java:468:13:468:25 | (...)... : Uri | provenance | |
| Test.java:469:10:469:11 | in : Uri | Test.java:469:10:469:22 | toString(...) : String | provenance | MaD:27 |
| Test.java:469:10:469:22 | toString(...) : String | Test.java:470:9:470:11 | out | provenance | |
nodes
| Test.java:20:21:20:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:20:34:20:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:21:10:21:11 | in : Builder | semmle.label | in : Builder |
| Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | semmle.label | appendEncodedPath(...) : Builder |
| Test.java:22:9:22:11 | out | semmle.label | out |
| Test.java:27:16:27:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:27:24:27:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:28:4:28:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:28:26:28:27 | in : String | semmle.label | in : String |
| Test.java:29:9:29:11 | out | semmle.label | out |
| Test.java:34:21:34:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:34:34:34:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:35:10:35:11 | in : Builder | semmle.label | in : Builder |
| Test.java:35:10:35:28 | appendPath(...) : Builder | semmle.label | appendPath(...) : Builder |
| Test.java:36:9:36:11 | out | semmle.label | out |
| Test.java:41:16:41:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:41:24:41:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:42:4:42:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:42:19:42:20 | in : String | semmle.label | in : String |
| Test.java:43:9:43:11 | out | semmle.label | out |
| Test.java:48:21:48:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:48:34:48:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:49:10:49:11 | in : Builder | semmle.label | in : Builder |
| Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | semmle.label | appendQueryParameter(...) : Builder |
| Test.java:50:9:50:11 | out | semmle.label | out |
| Test.java:55:16:55:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:55:24:55:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:56:4:56:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:56:35:56:36 | in : String | semmle.label | in : String |
| Test.java:57:9:57:11 | out | semmle.label | out |
| Test.java:62:16:62:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:62:24:62:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:63:4:63:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:63:29:63:30 | in : String | semmle.label | in : String |
| Test.java:64:9:64:11 | out | semmle.label | out |
| Test.java:69:21:69:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:69:34:69:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:70:10:70:11 | in : Builder | semmle.label | in : Builder |
| Test.java:70:10:70:27 | authority(...) : Builder | semmle.label | authority(...) : Builder |
| Test.java:71:9:71:11 | out | semmle.label | out |
| Test.java:76:16:76:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:76:24:76:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:77:4:77:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:77:18:77:19 | in : String | semmle.label | in : String |
| Test.java:78:9:78:11 | out | semmle.label | out |
| Test.java:83:21:83:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:83:34:83:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:84:10:84:11 | in : Builder | semmle.label | in : Builder |
| Test.java:84:10:84:19 | build(...) : Uri | semmle.label | build(...) : Uri |
| Test.java:85:9:85:11 | out | semmle.label | out |
| Test.java:90:21:90:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:90:34:90:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:91:10:91:11 | in : Builder | semmle.label | in : Builder |
| Test.java:91:10:91:24 | clearQuery(...) : Builder | semmle.label | clearQuery(...) : Builder |
| Test.java:92:9:92:11 | out | semmle.label | out |
| Test.java:97:21:97:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:97:34:97:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:98:10:98:11 | in : Builder | semmle.label | in : Builder |
| Test.java:98:10:98:34 | encodedAuthority(...) : Builder | semmle.label | encodedAuthority(...) : Builder |
| Test.java:99:9:99:11 | out | semmle.label | out |
| Test.java:104:16:104:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:104:24:104:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:105:4:105:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:105:25:105:26 | in : String | semmle.label | in : String |
| Test.java:106:9:106:11 | out | semmle.label | out |
| Test.java:111:21:111:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:111:34:111:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:112:10:112:11 | in : Builder | semmle.label | in : Builder |
| Test.java:112:10:112:33 | encodedFragment(...) : Builder | semmle.label | encodedFragment(...) : Builder |
| Test.java:113:9:113:11 | out | semmle.label | out |
| Test.java:118:16:118:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:118:24:118:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:119:4:119:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:119:24:119:25 | in : String | semmle.label | in : String |
| Test.java:120:9:120:11 | out | semmle.label | out |
| Test.java:125:21:125:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:125:34:125:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:126:10:126:11 | in : Builder | semmle.label | in : Builder |
| Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | semmle.label | encodedOpaquePart(...) : Builder |
| Test.java:127:9:127:11 | out | semmle.label | out |
| Test.java:132:16:132:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:132:24:132:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:133:4:133:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:133:26:133:27 | in : String | semmle.label | in : String |
| Test.java:134:9:134:11 | out | semmle.label | out |
| Test.java:139:21:139:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:139:34:139:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:140:10:140:11 | in : Builder | semmle.label | in : Builder |
| Test.java:140:10:140:29 | encodedPath(...) : Builder | semmle.label | encodedPath(...) : Builder |
| Test.java:141:9:141:11 | out | semmle.label | out |
| Test.java:146:16:146:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:146:24:146:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:147:4:147:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:147:20:147:21 | in : String | semmle.label | in : String |
| Test.java:148:9:148:11 | out | semmle.label | out |
| Test.java:153:21:153:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:153:34:153:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:154:10:154:11 | in : Builder | semmle.label | in : Builder |
| Test.java:154:10:154:30 | encodedQuery(...) : Builder | semmle.label | encodedQuery(...) : Builder |
| Test.java:155:9:155:11 | out | semmle.label | out |
| Test.java:160:16:160:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:160:24:160:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:161:4:161:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:161:21:161:22 | in : String | semmle.label | in : String |
| Test.java:162:9:162:11 | out | semmle.label | out |
| Test.java:167:21:167:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:167:34:167:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:168:10:168:11 | in : Builder | semmle.label | in : Builder |
| Test.java:168:10:168:26 | fragment(...) : Builder | semmle.label | fragment(...) : Builder |
| Test.java:169:9:169:11 | out | semmle.label | out |
| Test.java:174:16:174:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:174:24:174:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:175:4:175:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:175:17:175:18 | in : String | semmle.label | in : String |
| Test.java:176:9:176:11 | out | semmle.label | out |
| Test.java:181:21:181:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:181:34:181:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:182:10:182:11 | in : Builder | semmle.label | in : Builder |
| Test.java:182:10:182:28 | opaquePart(...) : Builder | semmle.label | opaquePart(...) : Builder |
| Test.java:183:9:183:11 | out | semmle.label | out |
| Test.java:188:16:188:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:188:24:188:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:189:4:189:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:189:19:189:20 | in : String | semmle.label | in : String |
| Test.java:190:9:190:11 | out | semmle.label | out |
| Test.java:195:21:195:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:195:34:195:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:196:10:196:11 | in : Builder | semmle.label | in : Builder |
| Test.java:196:10:196:22 | path(...) : Builder | semmle.label | path(...) : Builder |
| Test.java:197:9:197:11 | out | semmle.label | out |
| Test.java:202:16:202:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:202:24:202:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:203:4:203:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:203:13:203:14 | in : String | semmle.label | in : String |
| Test.java:204:9:204:11 | out | semmle.label | out |
| Test.java:209:21:209:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:209:34:209:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:210:10:210:11 | in : Builder | semmle.label | in : Builder |
| Test.java:210:10:210:23 | query(...) : Builder | semmle.label | query(...) : Builder |
| Test.java:211:9:211:11 | out | semmle.label | out |
| Test.java:216:16:216:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:216:24:216:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:217:4:217:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:217:14:217:15 | in : String | semmle.label | in : String |
| Test.java:218:9:218:11 | out | semmle.label | out |
| Test.java:223:21:223:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:223:34:223:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:224:10:224:11 | in : Builder | semmle.label | in : Builder |
| Test.java:224:10:224:24 | scheme(...) : Builder | semmle.label | scheme(...) : Builder |
| Test.java:225:9:225:11 | out | semmle.label | out |
| Test.java:230:16:230:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:230:24:230:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:231:4:231:6 | out [post update] : Builder | semmle.label | out [post update] : Builder |
| Test.java:231:15:231:16 | in : String | semmle.label | in : String |
| Test.java:232:9:232:11 | out | semmle.label | out |
| Test.java:237:21:237:41 | (...)... : Builder | semmle.label | (...)... : Builder |
| Test.java:237:34:237:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:238:10:238:11 | in : Builder | semmle.label | in : Builder |
| Test.java:238:10:238:22 | toString(...) : String | semmle.label | toString(...) : String |
| Test.java:239:9:239:11 | out | semmle.label | out |
| Test.java:244:16:244:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:244:24:244:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:245:10:245:23 | decode(...) : String | semmle.label | decode(...) : String |
| Test.java:245:21:245:22 | in : String | semmle.label | in : String |
| Test.java:246:9:246:11 | out | semmle.label | out |
| Test.java:251:16:251:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:251:24:251:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:252:10:252:29 | encode(...) : String | semmle.label | encode(...) : String |
| Test.java:252:21:252:22 | in : String | semmle.label | in : String |
| Test.java:253:9:253:11 | out | semmle.label | out |
| Test.java:258:16:258:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:258:24:258:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:259:10:259:23 | encode(...) : String | semmle.label | encode(...) : String |
| Test.java:259:21:259:22 | in : String | semmle.label | in : String |
| Test.java:260:9:260:11 | out | semmle.label | out |
| Test.java:265:14:265:27 | (...)... : File | semmle.label | (...)... : File |
| Test.java:265:20:265:27 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:266:10:266:25 | fromFile(...) : Uri | semmle.label | fromFile(...) : Uri |
| Test.java:266:23:266:24 | in : File | semmle.label | in : File |
| Test.java:267:9:267:11 | out | semmle.label | out |
| Test.java:272:16:272:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:272:24:272:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:273:10:273:38 | fromParts(...) : Uri | semmle.label | fromParts(...) : Uri |
| Test.java:273:36:273:37 | in : String | semmle.label | in : String |
| Test.java:274:9:274:11 | out | semmle.label | out |
| Test.java:279:16:279:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:279:24:279:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:280:10:280:38 | fromParts(...) : Uri | semmle.label | fromParts(...) : Uri |
| Test.java:280:30:280:31 | in : String | semmle.label | in : String |
| Test.java:281:9:281:11 | out | semmle.label | out |
| Test.java:286:16:286:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:286:24:286:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:287:10:287:38 | fromParts(...) : Uri | semmle.label | fromParts(...) : Uri |
| Test.java:287:24:287:25 | in : String | semmle.label | in : String |
| Test.java:288:9:288:11 | out | semmle.label | out |
| Test.java:293:16:293:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:293:24:293:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:294:10:294:22 | parse(...) : Uri | semmle.label | parse(...) : Uri |
| Test.java:294:20:294:21 | in : String | semmle.label | in : String |
| Test.java:295:9:295:11 | out | semmle.label | out |
| Test.java:300:13:300:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:300:18:300:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:301:10:301:39 | withAppendedPath(...) : Uri | semmle.label | withAppendedPath(...) : Uri |
| Test.java:301:31:301:32 | in : Uri | semmle.label | in : Uri |
| Test.java:302:9:302:11 | out | semmle.label | out |
| Test.java:307:16:307:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:307:24:307:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:308:10:308:39 | withAppendedPath(...) : Uri | semmle.label | withAppendedPath(...) : Uri |
| Test.java:308:37:308:38 | in : String | semmle.label | in : String |
| Test.java:309:9:309:11 | out | semmle.label | out |
| Test.java:314:13:314:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:314:18:314:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:315:22:315:24 | out [post update] : Parcel | semmle.label | out [post update] : Parcel |
| Test.java:315:27:315:28 | in : Uri | semmle.label | in : Uri |
| Test.java:316:9:316:11 | out | semmle.label | out |
| Test.java:321:13:321:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:321:18:321:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:322:10:322:11 | in : Uri | semmle.label | in : Uri |
| Test.java:322:10:322:23 | buildUpon(...) : Builder | semmle.label | buildUpon(...) : Builder |
| Test.java:323:9:323:11 | out | semmle.label | out |
| Test.java:328:13:328:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:328:18:328:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:329:10:329:11 | in : Uri | semmle.label | in : Uri |
| Test.java:329:10:329:26 | getAuthority(...) : String | semmle.label | getAuthority(...) : String |
| Test.java:330:9:330:11 | out | semmle.label | out |
| Test.java:335:13:335:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:335:18:335:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:336:10:336:11 | in : Uri | semmle.label | in : Uri |
| Test.java:336:10:336:33 | getEncodedAuthority(...) : String | semmle.label | getEncodedAuthority(...) : String |
| Test.java:337:9:337:11 | out | semmle.label | out |
| Test.java:342:13:342:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:342:18:342:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:343:10:343:11 | in : Uri | semmle.label | in : Uri |
| Test.java:343:10:343:32 | getEncodedFragment(...) : String | semmle.label | getEncodedFragment(...) : String |
| Test.java:344:9:344:11 | out | semmle.label | out |
| Test.java:349:13:349:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:349:18:349:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:350:10:350:11 | in : Uri | semmle.label | in : Uri |
| Test.java:350:10:350:28 | getEncodedPath(...) : String | semmle.label | getEncodedPath(...) : String |
| Test.java:351:9:351:11 | out | semmle.label | out |
| Test.java:356:13:356:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:356:18:356:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:357:10:357:11 | in : Uri | semmle.label | in : Uri |
| Test.java:357:10:357:29 | getEncodedQuery(...) : String | semmle.label | getEncodedQuery(...) : String |
| Test.java:358:9:358:11 | out | semmle.label | out |
| Test.java:363:13:363:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:363:18:363:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:364:10:364:11 | in : Uri | semmle.label | in : Uri |
| Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | semmle.label | getEncodedSchemeSpecificPart(...) : String |
| Test.java:365:9:365:11 | out | semmle.label | out |
| Test.java:370:13:370:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:370:18:370:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:371:10:371:11 | in : Uri | semmle.label | in : Uri |
| Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | semmle.label | getEncodedUserInfo(...) : String |
| Test.java:372:9:372:11 | out | semmle.label | out |
| Test.java:377:13:377:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:377:18:377:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:378:10:378:11 | in : Uri | semmle.label | in : Uri |
| Test.java:378:10:378:25 | getFragment(...) : String | semmle.label | getFragment(...) : String |
| Test.java:379:9:379:11 | out | semmle.label | out |
| Test.java:384:13:384:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:384:18:384:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:385:10:385:11 | in : Uri | semmle.label | in : Uri |
| Test.java:385:10:385:21 | getHost(...) : String | semmle.label | getHost(...) : String |
| Test.java:386:9:386:11 | out | semmle.label | out |
| Test.java:391:13:391:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:391:18:391:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:392:10:392:11 | in : Uri | semmle.label | in : Uri |
| Test.java:392:10:392:32 | getLastPathSegment(...) : String | semmle.label | getLastPathSegment(...) : String |
| Test.java:393:9:393:11 | out | semmle.label | out |
| Test.java:398:13:398:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:398:18:398:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:399:10:399:11 | in : Uri | semmle.label | in : Uri |
| Test.java:399:10:399:21 | getPath(...) : String | semmle.label | getPath(...) : String |
| Test.java:400:9:400:11 | out | semmle.label | out |
| Test.java:405:13:405:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:405:18:405:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:406:10:406:11 | in : Uri | semmle.label | in : Uri |
| Test.java:406:10:406:29 | getPathSegments(...) : List | semmle.label | getPathSegments(...) : List |
| Test.java:407:9:407:11 | out | semmle.label | out |
| Test.java:412:13:412:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:412:18:412:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:413:10:413:11 | in : Uri | semmle.label | in : Uri |
| Test.java:413:10:413:22 | getQuery(...) : String | semmle.label | getQuery(...) : String |
| Test.java:414:9:414:11 | out | semmle.label | out |
| Test.java:419:13:419:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:419:18:419:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:420:10:420:11 | in : Uri | semmle.label | in : Uri |
| Test.java:420:10:420:35 | getQueryParameter(...) : String | semmle.label | getQueryParameter(...) : String |
| Test.java:421:9:421:11 | out | semmle.label | out |
| Test.java:426:13:426:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:426:18:426:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:427:10:427:11 | in : Uri | semmle.label | in : Uri |
| Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | semmle.label | getQueryParameterNames(...) : Set |
| Test.java:428:9:428:11 | out | semmle.label | out |
| Test.java:433:13:433:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:433:18:433:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:434:10:434:11 | in : Uri | semmle.label | in : Uri |
| Test.java:434:10:434:36 | getQueryParameters(...) : List | semmle.label | getQueryParameters(...) : List |
| Test.java:435:9:435:11 | out | semmle.label | out |
| Test.java:440:13:440:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:440:18:440:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:441:10:441:11 | in : Uri | semmle.label | in : Uri |
| Test.java:441:10:441:23 | getScheme(...) : String | semmle.label | getScheme(...) : String |
| Test.java:442:9:442:11 | out | semmle.label | out |
| Test.java:447:13:447:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:447:18:447:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:448:10:448:11 | in : Uri | semmle.label | in : Uri |
| Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | semmle.label | getSchemeSpecificPart(...) : String |
| Test.java:449:9:449:11 | out | semmle.label | out |
| Test.java:454:13:454:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:454:18:454:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:455:10:455:11 | in : Uri | semmle.label | in : Uri |
| Test.java:455:10:455:25 | getUserInfo(...) : String | semmle.label | getUserInfo(...) : String |
| Test.java:456:9:456:11 | out | semmle.label | out |
| Test.java:461:13:461:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:461:18:461:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:462:10:462:11 | in : Uri | semmle.label | in : Uri |
| Test.java:462:10:462:29 | normalizeScheme(...) : Uri | semmle.label | normalizeScheme(...) : Uri |
| Test.java:463:9:463:11 | out | semmle.label | out |
| Test.java:468:13:468:25 | (...)... : Uri | semmle.label | (...)... : Uri |
| Test.java:468:18:468:25 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:469:10:469:11 | in : Uri | semmle.label | in : Uri |
| Test.java:469:10:469:22 | toString(...) : String | semmle.label | toString(...) : String |
| Test.java:470:9:470:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,2 +1,14 @@
models
| 1 | Summary: android.widget; EditText; true; getText; ; ; Argument[this]; ReturnValue; taint; manual |
| 2 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
edges
| TestWidget.java:12:14:12:21 | source(...) : EditText | TestWidget.java:12:14:12:31 | getText(...) : Editable | provenance | MaD:1 |
| TestWidget.java:12:14:12:31 | getText(...) : Editable | TestWidget.java:12:14:12:42 | toString(...) | provenance | AdditionalTaintStep |
| TestWidget.java:12:14:12:31 | getText(...) : Editable | TestWidget.java:12:14:12:42 | toString(...) | provenance | MaD:2 |
nodes
| TestWidget.java:12:14:12:21 | source(...) : EditText | semmle.label | source(...) : EditText |
| TestWidget.java:12:14:12:31 | getText(...) : Editable | semmle.label | getText(...) : Editable |
| TestWidget.java:12:14:12:42 | toString(...) | semmle.label | toString(...) |
subpaths
testFailures
valueOf

View File

@@ -2,6 +2,7 @@ import java
import semmle.code.java.dataflow.FlowSources
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph
query predicate valueOf(MethodCall ma) {
ma.getMethod().hasQualifiedName("java.lang", "String", "valueOf")

View File

@@ -0,0 +1,15 @@
models
| 1 | Summary: org.apache.tools.zip; ZipEntry; true; ZipEntry; (String); ; Argument[0]; Argument[this]; taint; ai-manual |
edges
| Test.java:19:16:19:32 | (...)... : String | Test.java:20:23:20:24 | in : String | provenance | |
| Test.java:19:25:19:32 | source(...) : Object | Test.java:19:16:19:32 | (...)... : String | provenance | |
| Test.java:20:10:20:25 | new ZipEntry(...) : ZipEntry | Test.java:21:9:21:11 | out | provenance | |
| Test.java:20:23:20:24 | in : String | Test.java:20:10:20:25 | new ZipEntry(...) : ZipEntry | provenance | MaD:1 |
nodes
| Test.java:19:16:19:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:19:25:19:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:20:10:20:25 | new ZipEntry(...) : ZipEntry | semmle.label | new ZipEntry(...) : ZipEntry |
| Test.java:20:23:20:24 | in : String | semmle.label | in : String |
| Test.java:21:9:21:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,45 @@
models
| 1 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; TarArchiveEntry; (String); ; Argument[0]; Argument[this]; taint; ai-manual |
| 2 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; TarArchiveEntry; (String,boolean); ; Argument[0]; Argument[this]; taint; ai-manual |
| 3 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; TarArchiveEntry; (String,byte); ; Argument[0]; Argument[this]; taint; ai-manual |
| 4 | Summary: org.apache.commons.compress.archivers.tar; TarArchiveEntry; true; setLinkName; (String); ; Argument[0]; Argument[this]; taint; ai-manual |
edges
| Test.java:18:16:18:32 | (...)... : String | Test.java:19:30:19:31 | in : String | provenance | |
| Test.java:18:25:18:32 | source(...) : Object | Test.java:18:16:18:32 | (...)... : String | provenance | |
| Test.java:19:10:19:32 | new TarArchiveEntry(...) : TarArchiveEntry | Test.java:20:9:20:11 | out | provenance | |
| Test.java:19:30:19:31 | in : String | Test.java:19:10:19:32 | new TarArchiveEntry(...) : TarArchiveEntry | provenance | MaD:1 |
| Test.java:25:16:25:32 | (...)... : String | Test.java:26:30:26:31 | in : String | provenance | |
| Test.java:25:25:25:32 | source(...) : Object | Test.java:25:16:25:32 | (...)... : String | provenance | |
| Test.java:26:10:26:39 | new TarArchiveEntry(...) : TarArchiveEntry | Test.java:27:9:27:11 | out | provenance | |
| Test.java:26:30:26:31 | in : String | Test.java:26:10:26:39 | new TarArchiveEntry(...) : TarArchiveEntry | provenance | MaD:2 |
| Test.java:32:16:32:32 | (...)... : String | Test.java:33:30:33:31 | in : String | provenance | |
| Test.java:32:25:32:32 | source(...) : Object | Test.java:32:16:32:32 | (...)... : String | provenance | |
| Test.java:33:10:33:42 | new TarArchiveEntry(...) : TarArchiveEntry | Test.java:34:9:34:11 | out | provenance | |
| Test.java:33:30:33:31 | in : String | Test.java:33:10:33:42 | new TarArchiveEntry(...) : TarArchiveEntry | provenance | MaD:3 |
| Test.java:39:16:39:32 | (...)... : String | Test.java:40:20:40:21 | in : String | provenance | |
| Test.java:39:25:39:32 | source(...) : Object | Test.java:39:16:39:32 | (...)... : String | provenance | |
| Test.java:40:4:40:6 | out [post update] : TarArchiveEntry | Test.java:41:9:41:11 | out | provenance | |
| Test.java:40:20:40:21 | in : String | Test.java:40:4:40:6 | out [post update] : TarArchiveEntry | provenance | MaD:4 |
nodes
| Test.java:18:16:18:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:18:25:18:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:19:10:19:32 | new TarArchiveEntry(...) : TarArchiveEntry | semmle.label | new TarArchiveEntry(...) : TarArchiveEntry |
| Test.java:19:30:19:31 | in : String | semmle.label | in : String |
| Test.java:20:9:20:11 | out | semmle.label | out |
| Test.java:25:16:25:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:25:25:25:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:26:10:26:39 | new TarArchiveEntry(...) : TarArchiveEntry | semmle.label | new TarArchiveEntry(...) : TarArchiveEntry |
| Test.java:26:30:26:31 | in : String | semmle.label | in : String |
| Test.java:27:9:27:11 | out | semmle.label | out |
| Test.java:32:16:32:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:32:25:32:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:33:10:33:42 | new TarArchiveEntry(...) : TarArchiveEntry | semmle.label | new TarArchiveEntry(...) : TarArchiveEntry |
| Test.java:33:30:33:31 | in : String | semmle.label | in : String |
| Test.java:34:9:34:11 | out | semmle.label | out |
| Test.java:39:16:39:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:39:25:39:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:40:4:40:6 | out [post update] : TarArchiveEntry | semmle.label | out [post update] : TarArchiveEntry |
| Test.java:40:20:40:21 | in : String | semmle.label | in : String |
| Test.java:41:9:41:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,770 @@
models
| 1 | Summary: com.google.gson; Gson; false; fromJson; ; ; Argument[0]; ReturnValue; taint; manual |
| 2 | Summary: com.google.gson; Gson; false; toJson; (JsonElement); ; Argument[0]; ReturnValue; taint; manual |
| 3 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,JsonWriter); ; Argument[0]; Argument[1]; taint; manual |
| 4 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,Appendable); ; Argument[0]; Argument[1]; taint; manual |
| 5 | Summary: com.google.gson; Gson; false; toJson; (Object); ; Argument[0]; ReturnValue; taint; manual |
| 6 | Summary: com.google.gson; Gson; false; toJson; (Object,Appendable); ; Argument[0]; Argument[1]; taint; manual |
| 7 | Summary: com.google.gson; Gson; false; toJson; (Object,Type); ; Argument[0]; ReturnValue; taint; manual |
| 8 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,Appendable); ; Argument[0]; Argument[2]; taint; manual |
| 9 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,JsonWriter); ; Argument[0]; Argument[2]; taint; manual |
| 10 | Summary: com.google.gson; Gson; false; toJsonTree; (Object); ; Argument[0]; ReturnValue; taint; manual |
| 11 | Summary: com.google.gson; Gson; false; toJsonTree; (Object,Type); ; Argument[0]; ReturnValue; taint; manual |
| 12 | Summary: com.google.gson; Gson; false; newJsonReader; ; ; Argument[0]; ReturnValue; taint; manual |
| 13 | Summary: com.google.gson; Gson; false; newJsonWriter; ; ; Argument[0]; ReturnValue; taint; manual |
| 14 | Summary: com.google.gson.stream; JsonReader; false; nextName; ; ; Argument[this]; ReturnValue; taint; manual |
| 15 | Summary: com.google.gson.stream; JsonReader; false; nextString; ; ; Argument[this]; ReturnValue; taint; manual |
| 16 | Summary: com.google.gson; JsonElement; true; getAsByte; (); ; Argument[this]; ReturnValue; taint; manual |
| 17 | Summary: com.google.gson; JsonElement; true; getAsCharacter; (); ; Argument[this]; ReturnValue; taint; manual |
| 18 | Summary: com.google.gson; JsonElement; true; getAsJsonArray; (); ; Argument[this]; ReturnValue; taint; manual |
| 19 | Summary: com.google.gson; JsonElement; true; getAsJsonObject; (); ; Argument[this]; ReturnValue; taint; manual |
| 20 | Summary: com.google.gson; JsonElement; true; getAsJsonPrimitive; (); ; Argument[this]; ReturnValue; taint; manual |
| 21 | Summary: com.google.gson; JsonElement; true; getAsString; (); ; Argument[this]; ReturnValue; taint; manual |
| 22 | Summary: com.google.gson; JsonElement; true; toString; (); ; Argument[this]; ReturnValue; taint; manual |
| 23 | Summary: com.google.gson; JsonArray; true; add; (Boolean); ; Argument[0]; Argument[this].Element; taint; manual |
| 24 | Summary: com.google.gson; JsonArray; true; add; (Character); ; Argument[0]; Argument[this].Element; taint; manual |
| 25 | Summary: com.google.gson; JsonArray; true; add; (JsonElement); ; Argument[0]; Argument[this].Element; value; manual |
| 26 | Summary: com.google.gson; JsonArray; true; add; (Number); ; Argument[0]; Argument[this].Element; taint; manual |
| 27 | Summary: com.google.gson; JsonArray; true; add; (String); ; Argument[0]; Argument[this].Element; taint; manual |
| 28 | Summary: com.google.gson; JsonArray; true; addAll; (JsonArray); ; Argument[0].Element; Argument[this].Element; value; manual |
| 29 | Summary: com.google.gson; JsonArray; true; asList; ; ; Argument[this].Element; ReturnValue.Element; value; manual |
| 30 | Summary: com.google.gson; JsonArray; true; get; ; ; Argument[this].Element; ReturnValue; value; manual |
| 31 | Summary: com.google.gson; JsonArray; true; set; ; ; Argument[1]; Argument[this].Element; value; manual |
| 32 | Summary: com.google.gson; JsonObject; true; add; ; ; Argument[0]; Argument[this].MapKey; value; manual |
| 33 | Summary: com.google.gson; JsonObject; true; add; ; ; Argument[1]; Argument[this].MapValue; value; manual |
| 34 | Summary: com.google.gson; JsonObject; true; addProperty; (String,String); ; Argument[0]; Argument[this].MapKey; value; manual |
| 35 | Summary: com.google.gson; JsonObject; true; addProperty; (String,String); ; Argument[1]; Argument[this].MapValue; taint; manual |
| 36 | Summary: com.google.gson; JsonObject; true; asMap; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual |
| 37 | Summary: com.google.gson; JsonObject; true; asMap; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
| 38 | Summary: com.google.gson; JsonObject; true; entrySet; ; ; Argument[this].MapKey; ReturnValue.Element.MapKey; value; manual |
| 39 | Summary: com.google.gson; JsonObject; true; entrySet; ; ; Argument[this].MapValue; ReturnValue.Element.MapValue; value; manual |
| 40 | Summary: com.google.gson; JsonObject; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
| 41 | Summary: com.google.gson; JsonObject; true; keySet; ; ; Argument[this].MapKey; ReturnValue.Element; value; manual |
| 42 | Summary: com.google.gson; JsonPrimitive; true; JsonPrimitive; (Character); ; Argument[0]; Argument[this]; taint; manual |
| 43 | Summary: com.google.gson; JsonPrimitive; true; JsonPrimitive; (String); ; Argument[0]; Argument[this]; taint; manual |
| 44 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
| 45 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 46 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
| 47 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual |
| 48 | Summary: java.util; Map$Entry; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual |
| 49 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual |
edges
| Test.java:21:18:21:29 | map : Map [<map.key>] : String | Test.java:21:41:21:43 | map : Map [<map.key>] : String | provenance | |
| Test.java:21:41:21:43 | map : Map [<map.key>] : String | Test.java:21:41:21:52 | keySet(...) : Set [<element>] : String | provenance | MaD:47 |
| Test.java:21:41:21:52 | keySet(...) : Set [<element>] : String | Test.java:21:41:21:63 | iterator(...) : Iterator [<element>] : String | provenance | MaD:44 |
| Test.java:21:41:21:63 | iterator(...) : Iterator [<element>] : String | Test.java:21:41:21:70 | next(...) : String | provenance | MaD:45 |
| Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | Test.java:22:44:22:45 | it : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:22:19:22:32 | it : List [<element>] : JsonElement | Test.java:22:44:22:45 | it : List [<element>] : JsonElement | provenance | |
| Test.java:22:19:22:32 | it : Set [<element>] : String | Test.java:22:44:22:45 | it : Set [<element>] : String | provenance | |
| Test.java:22:44:22:45 | it : JsonArray [<element>] : JsonElement | Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : JsonElement | provenance | MaD:44 |
| Test.java:22:44:22:45 | it : List [<element>] : JsonElement | Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : JsonElement | provenance | MaD:44 |
| Test.java:22:44:22:45 | it : Set [<element>] : String | Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : String | provenance | MaD:44 |
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | provenance | MaD:45 |
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | provenance | MaD:45 |
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : String | Test.java:22:44:22:63 | next(...) : String | provenance | MaD:45 |
| Test.java:23:20:23:31 | map : Map [<map.value>] : JsonElement | Test.java:23:43:23:45 | map : Map [<map.value>] : JsonElement | provenance | |
| Test.java:23:43:23:45 | map : Map [<map.value>] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | provenance | MaD:46 |
| Test.java:24:26:24:45 | container : JsonObject [<map.key>] : String | Test.java:24:57:24:65 | container : JsonObject [<map.key>] : String | provenance | |
| Test.java:24:57:24:65 | container : JsonObject [<map.key>] : String | Test.java:24:57:24:74 | keySet(...) : Set [<element>] : String | provenance | MaD:41 |
| Test.java:24:57:24:74 | keySet(...) : Set [<element>] : String | Test.java:24:57:24:85 | iterator(...) : Iterator [<element>] : String | provenance | MaD:44 |
| Test.java:24:57:24:85 | iterator(...) : Iterator [<element>] : String | Test.java:24:57:24:92 | next(...) : String | provenance | MaD:45 |
| Test.java:25:25:25:48 | container : Entry [<map.key>] : String | Test.java:25:60:25:68 | container : Entry [<map.key>] : String | provenance | |
| Test.java:25:60:25:68 | container : Entry [<map.key>] : String | Test.java:25:60:25:77 | getKey(...) : String | provenance | MaD:48 |
| Test.java:26:33:26:52 | container : JsonObject [<map.value>] : JsonElement | Test.java:26:64:26:72 | container : JsonObject [<map.value>] : JsonElement | provenance | |
| Test.java:26:33:26:52 | container : JsonObject [<map.value>] : Object | Test.java:26:64:26:72 | container : JsonObject [<map.value>] : Object | provenance | |
| Test.java:26:64:26:72 | container : JsonObject [<map.value>] : JsonElement | Test.java:26:64:26:82 | get(...) : JsonElement | provenance | MaD:40 |
| Test.java:26:64:26:72 | container : JsonObject [<map.value>] : Object | Test.java:26:64:26:82 | get(...) : JsonElement | provenance | MaD:40 |
| Test.java:27:28:27:51 | container : Entry [<map.value>] : JsonElement | Test.java:27:63:27:71 | container : Entry [<map.value>] : JsonElement | provenance | |
| Test.java:27:63:27:71 | container : Entry [<map.value>] : JsonElement | Test.java:27:63:27:82 | getValue(...) : JsonElement | provenance | MaD:49 |
| Test.java:28:34:28:52 | element : JsonElement | Test.java:28:94:28:100 | element : JsonElement | provenance | |
| Test.java:28:88:28:88 | a [post update] : JsonArray [<element>] : JsonElement | Test.java:28:111:28:111 | a : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:28:94:28:100 | element : JsonElement | Test.java:28:88:28:88 | a [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
| Test.java:29:34:29:43 | key : String | Test.java:29:87:29:89 | key : String | provenance | |
| Test.java:29:81:29:81 | o [post update] : JsonObject [<map.key>] : String | Test.java:29:120:29:120 | o : JsonObject [<map.key>] : String | provenance | |
| Test.java:29:87:29:89 | key : String | Test.java:29:81:29:81 | o [post update] : JsonObject [<map.key>] : String | provenance | MaD:32 |
| Test.java:30:36:30:54 | element : JsonElement | Test.java:30:104:30:110 | element : JsonElement | provenance | |
| Test.java:30:92:30:92 | o [post update] : JsonObject [<map.value>] : JsonElement | Test.java:30:121:30:121 | o : JsonObject [<map.value>] : JsonElement | provenance | |
| Test.java:30:104:30:110 | element : JsonElement | Test.java:30:92:30:92 | o [post update] : JsonObject [<map.value>] : JsonElement | provenance | MaD:33 |
| Test.java:39:20:39:39 | (...)... : JsonReader | Test.java:40:10:40:11 | in : JsonReader | provenance | |
| Test.java:39:32:39:39 | source(...) : Object | Test.java:39:20:39:39 | (...)... : JsonReader | provenance | |
| Test.java:40:10:40:11 | in : JsonReader | Test.java:40:10:40:22 | nextName(...) : String | provenance | MaD:14 |
| Test.java:40:10:40:22 | nextName(...) : String | Test.java:41:9:41:11 | out | provenance | |
| Test.java:46:20:46:39 | (...)... : JsonReader | Test.java:47:10:47:11 | in : JsonReader | provenance | |
| Test.java:46:32:46:39 | source(...) : Object | Test.java:46:20:46:39 | (...)... : JsonReader | provenance | |
| Test.java:47:10:47:11 | in : JsonReader | Test.java:47:10:47:24 | nextString(...) : String | provenance | MaD:15 |
| Test.java:47:10:47:24 | nextString(...) : String | Test.java:48:9:48:11 | out | provenance | |
| Test.java:53:21:53:41 | (...)... : JsonElement | Test.java:55:28:55:29 | in : JsonElement | provenance | |
| Test.java:53:34:53:41 | source(...) : Object | Test.java:53:21:53:41 | (...)... : JsonElement | provenance | |
| Test.java:55:10:55:43 | fromJson(...) : Object | Test.java:56:9:56:11 | out | provenance | |
| Test.java:55:28:55:29 | in : JsonElement | Test.java:55:10:55:43 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:61:21:61:41 | (...)... : JsonElement | Test.java:63:28:63:29 | in : JsonElement | provenance | |
| Test.java:61:34:61:41 | source(...) : Object | Test.java:61:21:61:41 | (...)... : JsonElement | provenance | |
| Test.java:63:10:63:42 | fromJson(...) : Object | Test.java:64:9:64:11 | out | provenance | |
| Test.java:63:28:63:29 | in : JsonElement | Test.java:63:10:63:42 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:69:21:69:41 | (...)... : JsonElement | Test.java:71:28:71:29 | in : JsonElement | provenance | |
| Test.java:69:34:69:41 | source(...) : Object | Test.java:69:21:69:41 | (...)... : JsonElement | provenance | |
| Test.java:71:10:71:47 | fromJson(...) : Object | Test.java:72:9:72:11 | out | provenance | |
| Test.java:71:28:71:29 | in : JsonElement | Test.java:71:10:71:47 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:77:20:77:39 | (...)... : JsonReader | Test.java:79:28:79:29 | in : JsonReader | provenance | |
| Test.java:77:32:77:39 | source(...) : Object | Test.java:77:20:77:39 | (...)... : JsonReader | provenance | |
| Test.java:79:10:79:42 | fromJson(...) : Object | Test.java:80:9:80:11 | out | provenance | |
| Test.java:79:28:79:29 | in : JsonReader | Test.java:79:10:79:42 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:85:20:85:39 | (...)... : JsonReader | Test.java:87:28:87:29 | in : JsonReader | provenance | |
| Test.java:85:32:85:39 | source(...) : Object | Test.java:85:20:85:39 | (...)... : JsonReader | provenance | |
| Test.java:87:10:87:47 | fromJson(...) : Object | Test.java:88:9:88:11 | out | provenance | |
| Test.java:87:28:87:29 | in : JsonReader | Test.java:87:10:87:47 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:93:16:93:31 | (...)... : Reader | Test.java:95:28:95:29 | in : Reader | provenance | |
| Test.java:93:24:93:31 | source(...) : Object | Test.java:93:16:93:31 | (...)... : Reader | provenance | |
| Test.java:95:10:95:43 | fromJson(...) : Object | Test.java:96:9:96:11 | out | provenance | |
| Test.java:95:28:95:29 | in : Reader | Test.java:95:10:95:43 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:101:16:101:31 | (...)... : Reader | Test.java:103:28:103:29 | in : Reader | provenance | |
| Test.java:101:24:101:31 | source(...) : Object | Test.java:101:16:101:31 | (...)... : Reader | provenance | |
| Test.java:103:10:103:42 | fromJson(...) : Object | Test.java:104:9:104:11 | out | provenance | |
| Test.java:103:28:103:29 | in : Reader | Test.java:103:10:103:42 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:109:16:109:31 | (...)... : Reader | Test.java:111:28:111:29 | in : Reader | provenance | |
| Test.java:109:24:109:31 | source(...) : Object | Test.java:109:16:109:31 | (...)... : Reader | provenance | |
| Test.java:111:10:111:47 | fromJson(...) : Object | Test.java:112:9:112:11 | out | provenance | |
| Test.java:111:28:111:29 | in : Reader | Test.java:111:10:111:47 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:117:16:117:31 | (...)... : String | Test.java:119:28:119:29 | in : String | provenance | |
| Test.java:117:24:117:31 | source(...) : Object | Test.java:117:16:117:31 | (...)... : String | provenance | |
| Test.java:119:10:119:43 | fromJson(...) : Object | Test.java:120:9:120:11 | out | provenance | |
| Test.java:119:28:119:29 | in : String | Test.java:119:10:119:43 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:125:16:125:31 | (...)... : String | Test.java:127:28:127:29 | in : String | provenance | |
| Test.java:125:24:125:31 | source(...) : Object | Test.java:125:16:125:31 | (...)... : String | provenance | |
| Test.java:127:10:127:42 | fromJson(...) : Object | Test.java:128:9:128:11 | out | provenance | |
| Test.java:127:28:127:29 | in : String | Test.java:127:10:127:42 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:133:16:133:31 | (...)... : String | Test.java:135:28:135:29 | in : String | provenance | |
| Test.java:133:24:133:31 | source(...) : Object | Test.java:133:16:133:31 | (...)... : String | provenance | |
| Test.java:135:10:135:47 | fromJson(...) : Object | Test.java:136:9:136:11 | out | provenance | |
| Test.java:135:28:135:29 | in : String | Test.java:135:10:135:47 | fromJson(...) : Object | provenance | MaD:1 |
| Test.java:141:16:141:31 | (...)... : Reader | Test.java:143:33:143:34 | in : Reader | provenance | |
| Test.java:141:24:141:31 | source(...) : Object | Test.java:141:16:141:31 | (...)... : Reader | provenance | |
| Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | Test.java:144:9:144:11 | out | provenance | |
| Test.java:143:33:143:34 | in : Reader | Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | provenance | MaD:12 |
| Test.java:149:16:149:31 | (...)... : Writer | Test.java:151:33:151:34 | in : Writer | provenance | |
| Test.java:149:24:149:31 | source(...) : Object | Test.java:149:16:149:31 | (...)... : Writer | provenance | |
| Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | Test.java:152:9:152:11 | out | provenance | |
| Test.java:151:33:151:34 | in : Writer | Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | provenance | MaD:13 |
| Test.java:157:21:157:41 | (...)... : JsonElement | Test.java:159:26:159:27 | in : JsonElement | provenance | |
| Test.java:157:34:157:41 | source(...) : Object | Test.java:157:21:157:41 | (...)... : JsonElement | provenance | |
| Test.java:159:10:159:28 | toJson(...) : String | Test.java:160:9:160:11 | out | provenance | |
| Test.java:159:26:159:27 | in : JsonElement | Test.java:159:10:159:28 | toJson(...) : String | provenance | MaD:2 |
| Test.java:165:21:165:41 | (...)... : JsonElement | Test.java:167:20:167:21 | in : JsonElement | provenance | |
| Test.java:165:34:165:41 | source(...) : Object | Test.java:165:21:165:41 | (...)... : JsonElement | provenance | |
| Test.java:167:20:167:21 | in : JsonElement | Test.java:167:24:167:26 | out [post update] : Appendable | provenance | MaD:4 |
| Test.java:167:24:167:26 | out [post update] : Appendable | Test.java:168:9:168:11 | out | provenance | |
| Test.java:173:21:173:41 | (...)... : JsonElement | Test.java:175:20:175:21 | in : JsonElement | provenance | |
| Test.java:173:34:173:41 | source(...) : Object | Test.java:173:21:173:41 | (...)... : JsonElement | provenance | |
| Test.java:175:20:175:21 | in : JsonElement | Test.java:175:24:175:26 | out [post update] : JsonWriter | provenance | MaD:3 |
| Test.java:175:24:175:26 | out [post update] : JsonWriter | Test.java:176:9:176:11 | out | provenance | |
| Test.java:181:16:181:31 | (...)... : Object | Test.java:183:26:183:27 | in : Object | provenance | |
| Test.java:181:24:181:31 | source(...) : Object | Test.java:181:16:181:31 | (...)... : Object | provenance | |
| Test.java:183:10:183:28 | toJson(...) : String | Test.java:184:9:184:11 | out | provenance | |
| Test.java:183:26:183:27 | in : Object | Test.java:183:10:183:28 | toJson(...) : String | provenance | MaD:5 |
| Test.java:189:16:189:31 | (...)... : Object | Test.java:191:20:191:21 | in : Object | provenance | |
| Test.java:189:24:189:31 | source(...) : Object | Test.java:189:16:189:31 | (...)... : Object | provenance | |
| Test.java:191:20:191:21 | in : Object | Test.java:191:24:191:26 | out [post update] : Appendable | provenance | MaD:6 |
| Test.java:191:24:191:26 | out [post update] : Appendable | Test.java:192:9:192:11 | out | provenance | |
| Test.java:197:16:197:31 | (...)... : Object | Test.java:199:26:199:27 | in : Object | provenance | |
| Test.java:197:24:197:31 | source(...) : Object | Test.java:197:16:197:31 | (...)... : Object | provenance | |
| Test.java:199:10:199:40 | toJson(...) : String | Test.java:200:9:200:11 | out | provenance | |
| Test.java:199:26:199:27 | in : Object | Test.java:199:10:199:40 | toJson(...) : String | provenance | MaD:7 |
| Test.java:205:16:205:31 | (...)... : Object | Test.java:207:20:207:21 | in : Object | provenance | |
| Test.java:205:24:205:31 | source(...) : Object | Test.java:205:16:205:31 | (...)... : Object | provenance | |
| Test.java:207:20:207:21 | in : Object | Test.java:207:36:207:38 | out [post update] : Appendable | provenance | MaD:8 |
| Test.java:207:36:207:38 | out [post update] : Appendable | Test.java:208:9:208:11 | out | provenance | |
| Test.java:213:16:213:31 | (...)... : Object | Test.java:215:20:215:21 | in : Object | provenance | |
| Test.java:213:24:213:31 | source(...) : Object | Test.java:213:16:213:31 | (...)... : Object | provenance | |
| Test.java:215:20:215:21 | in : Object | Test.java:215:36:215:38 | out [post update] : JsonWriter | provenance | MaD:9 |
| Test.java:215:36:215:38 | out [post update] : JsonWriter | Test.java:216:9:216:11 | out | provenance | |
| Test.java:221:16:221:31 | (...)... : Object | Test.java:223:30:223:31 | in : Object | provenance | |
| Test.java:221:24:221:31 | source(...) : Object | Test.java:221:16:221:31 | (...)... : Object | provenance | |
| Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | Test.java:224:9:224:11 | out | provenance | |
| Test.java:223:30:223:31 | in : Object | Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | provenance | MaD:10 |
| Test.java:229:16:229:31 | (...)... : Object | Test.java:231:30:231:31 | in : Object | provenance | |
| Test.java:229:24:229:31 | source(...) : Object | Test.java:229:16:229:31 | (...)... : Object | provenance | |
| Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | Test.java:232:9:232:11 | out | provenance | |
| Test.java:231:30:231:31 | in : Object | Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | provenance | MaD:11 |
| Test.java:237:17:237:33 | (...)... : Boolean | Test.java:238:12:238:13 | in : Boolean | provenance | |
| Test.java:237:26:237:33 | source(...) : Object | Test.java:237:17:237:33 | (...)... : Boolean | provenance | |
| Test.java:238:4:238:6 | out [post update] : JsonArray [<element>] : Object | Test.java:239:20:239:22 | out : JsonArray [<element>] : Object | provenance | |
| Test.java:238:12:238:13 | in : Boolean | Test.java:238:4:238:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:23 |
| Test.java:239:20:239:22 | out : JsonArray [<element>] : Object | Test.java:239:9:239:23 | getElement(...) | provenance | MaD:44 |
| Test.java:244:19:244:37 | (...)... : Number | Test.java:245:12:245:13 | in : Number | provenance | |
| Test.java:244:30:244:37 | source(...) : Object | Test.java:244:19:244:37 | (...)... : Number | provenance | |
| Test.java:245:4:245:6 | out [post update] : JsonArray [<element>] : Object | Test.java:246:20:246:22 | out : JsonArray [<element>] : Object | provenance | |
| Test.java:245:12:245:13 | in : Number | Test.java:245:4:245:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:24 |
| Test.java:246:20:246:22 | out : JsonArray [<element>] : Object | Test.java:246:9:246:23 | getElement(...) | provenance | MaD:44 |
| Test.java:251:21:251:41 | (...)... : JsonElement | Test.java:252:12:252:13 | in : JsonElement | provenance | |
| Test.java:251:34:251:41 | source(...) : Object | Test.java:251:21:251:41 | (...)... : JsonElement | provenance | |
| Test.java:252:4:252:6 | out [post update] : JsonArray [<element>] : JsonElement | Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:252:12:252:13 | in : JsonElement | Test.java:252:4:252:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
| Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | Test.java:253:9:253:23 | getElement(...) | provenance | MaD:44 |
| Test.java:258:16:258:31 | (...)... : Number | Test.java:259:12:259:13 | in : Number | provenance | |
| Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : Number | provenance | |
| Test.java:259:4:259:6 | out [post update] : JsonArray [<element>] : Object | Test.java:260:20:260:22 | out : JsonArray [<element>] : Object | provenance | |
| Test.java:259:12:259:13 | in : Number | Test.java:259:4:259:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:26 |
| Test.java:260:20:260:22 | out : JsonArray [<element>] : Object | Test.java:260:9:260:23 | getElement(...) | provenance | MaD:44 |
| Test.java:265:16:265:31 | (...)... : String | Test.java:266:12:266:13 | in : String | provenance | |
| Test.java:265:24:265:31 | source(...) : Object | Test.java:265:16:265:31 | (...)... : String | provenance | |
| Test.java:266:4:266:6 | out [post update] : JsonArray [<element>] : Object | Test.java:267:20:267:22 | out : JsonArray [<element>] : Object | provenance | |
| Test.java:266:12:266:13 | in : String | Test.java:266:4:266:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:27 |
| Test.java:267:20:267:22 | out : JsonArray [<element>] : Object | Test.java:267:9:267:23 | getElement(...) | provenance | MaD:44 |
| Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | Test.java:273:15:273:16 | in : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | |
| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
| Test.java:272:55:272:62 | source(...) : Object | Test.java:272:41:272:62 | (...)... : JsonElement | provenance | |
| Test.java:273:4:273:6 | out [post update] : JsonArray [<element>] : JsonElement | Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:273:15:273:16 | in : JsonArray [<element>] : JsonElement | Test.java:273:4:273:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:28 |
| Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | Test.java:274:9:274:23 | getElement(...) | provenance | MaD:44 |
| Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | Test.java:280:10:280:11 | in : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | |
| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
| Test.java:279:55:279:62 | source(...) : Object | Test.java:279:41:279:62 | (...)... : JsonElement | provenance | |
| Test.java:280:10:280:11 | in : JsonArray [<element>] : JsonElement | Test.java:280:10:280:20 | asList(...) : List [<element>] : JsonElement | provenance | MaD:29 |
| Test.java:280:10:280:20 | asList(...) : List [<element>] : JsonElement | Test.java:281:20:281:22 | out : List [<element>] : JsonElement | provenance | |
| Test.java:281:20:281:22 | out : List [<element>] : JsonElement | Test.java:22:19:22:32 | it : List [<element>] : JsonElement | provenance | |
| Test.java:281:20:281:22 | out : List [<element>] : JsonElement | Test.java:281:9:281:23 | getElement(...) | provenance | MaD:44 |
| Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | Test.java:287:10:287:11 | in : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | |
| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
| Test.java:286:55:286:62 | source(...) : Object | Test.java:286:41:286:62 | (...)... : JsonElement | provenance | |
| Test.java:287:10:287:11 | in : JsonArray [<element>] : JsonElement | Test.java:287:10:287:18 | get(...) : JsonElement | provenance | MaD:30 |
| Test.java:287:10:287:18 | get(...) : JsonElement | Test.java:288:9:288:11 | out | provenance | |
| Test.java:293:21:293:41 | (...)... : JsonElement | Test.java:294:15:294:16 | in : JsonElement | provenance | |
| Test.java:293:34:293:41 | source(...) : Object | Test.java:293:21:293:41 | (...)... : JsonElement | provenance | |
| Test.java:294:4:294:6 | out [post update] : JsonArray [<element>] : JsonElement | Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:294:15:294:16 | in : JsonElement | Test.java:294:4:294:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:31 |
| Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | provenance | |
| Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | Test.java:295:9:295:23 | getElement(...) | provenance | MaD:44 |
| Test.java:300:19:300:37 | (...)... : JsonArray | Test.java:301:10:301:11 | in : JsonArray | provenance | |
| Test.java:300:30:300:37 | source(...) : Object | Test.java:300:19:300:37 | (...)... : JsonArray | provenance | |
| Test.java:301:10:301:11 | in : JsonArray | Test.java:301:10:301:23 | getAsByte(...) : Number | provenance | MaD:16 |
| Test.java:301:10:301:23 | getAsByte(...) : Number | Test.java:302:9:302:11 | out | provenance | |
| Test.java:307:21:307:41 | (...)... : JsonElement | Test.java:308:10:308:11 | in : JsonElement | provenance | |
| Test.java:307:34:307:41 | source(...) : Object | Test.java:307:21:307:41 | (...)... : JsonElement | provenance | |
| Test.java:308:10:308:11 | in : JsonElement | Test.java:308:10:308:23 | getAsByte(...) : Number | provenance | MaD:16 |
| Test.java:308:10:308:23 | getAsByte(...) : Number | Test.java:309:9:309:11 | out | provenance | |
| Test.java:314:23:314:45 | (...)... : JsonPrimitive | Test.java:315:10:315:11 | in : JsonPrimitive | provenance | |
| Test.java:314:38:314:45 | source(...) : Object | Test.java:314:23:314:45 | (...)... : JsonPrimitive | provenance | |
| Test.java:315:10:315:11 | in : JsonPrimitive | Test.java:315:10:315:23 | getAsByte(...) : Number | provenance | MaD:16 |
| Test.java:315:10:315:23 | getAsByte(...) : Number | Test.java:316:9:316:11 | out | provenance | |
| Test.java:321:19:321:37 | (...)... : JsonArray | Test.java:322:10:322:11 | in : JsonArray | provenance | |
| Test.java:321:30:321:37 | source(...) : Object | Test.java:321:19:321:37 | (...)... : JsonArray | provenance | |
| Test.java:322:10:322:11 | in : JsonArray | Test.java:322:10:322:28 | getAsCharacter(...) : Number | provenance | MaD:17 |
| Test.java:322:10:322:28 | getAsCharacter(...) : Number | Test.java:323:9:323:11 | out | provenance | |
| Test.java:328:21:328:41 | (...)... : JsonElement | Test.java:329:10:329:11 | in : JsonElement | provenance | |
| Test.java:328:34:328:41 | source(...) : Object | Test.java:328:21:328:41 | (...)... : JsonElement | provenance | |
| Test.java:329:10:329:11 | in : JsonElement | Test.java:329:10:329:28 | getAsCharacter(...) : Number | provenance | MaD:17 |
| Test.java:329:10:329:28 | getAsCharacter(...) : Number | Test.java:330:9:330:11 | out | provenance | |
| Test.java:335:23:335:45 | (...)... : JsonPrimitive | Test.java:336:10:336:11 | in : JsonPrimitive | provenance | |
| Test.java:335:38:335:45 | source(...) : Object | Test.java:335:23:335:45 | (...)... : JsonPrimitive | provenance | |
| Test.java:336:10:336:11 | in : JsonPrimitive | Test.java:336:10:336:28 | getAsCharacter(...) : Number | provenance | MaD:17 |
| Test.java:336:10:336:28 | getAsCharacter(...) : Number | Test.java:337:9:337:11 | out | provenance | |
| Test.java:342:21:342:41 | (...)... : JsonElement | Test.java:343:10:343:11 | in : JsonElement | provenance | |
| Test.java:342:34:342:41 | source(...) : Object | Test.java:342:21:342:41 | (...)... : JsonElement | provenance | |
| Test.java:343:10:343:11 | in : JsonElement | Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | provenance | MaD:18 |
| Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | Test.java:344:9:344:11 | out | provenance | |
| Test.java:349:21:349:41 | (...)... : JsonElement | Test.java:350:10:350:11 | in : JsonElement | provenance | |
| Test.java:349:34:349:41 | source(...) : Object | Test.java:349:21:349:41 | (...)... : JsonElement | provenance | |
| Test.java:350:10:350:11 | in : JsonElement | Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | provenance | MaD:19 |
| Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | Test.java:351:9:351:11 | out | provenance | |
| Test.java:356:21:356:41 | (...)... : JsonElement | Test.java:357:10:357:11 | in : JsonElement | provenance | |
| Test.java:356:34:356:41 | source(...) : Object | Test.java:356:21:356:41 | (...)... : JsonElement | provenance | |
| Test.java:357:10:357:11 | in : JsonElement | Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | provenance | MaD:20 |
| Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | Test.java:358:9:358:11 | out | provenance | |
| Test.java:363:19:363:37 | (...)... : JsonArray | Test.java:364:10:364:11 | in : JsonArray | provenance | |
| Test.java:363:30:363:37 | source(...) : Object | Test.java:363:19:363:37 | (...)... : JsonArray | provenance | |
| Test.java:364:10:364:11 | in : JsonArray | Test.java:364:10:364:25 | getAsString(...) : String | provenance | MaD:21 |
| Test.java:364:10:364:25 | getAsString(...) : String | Test.java:365:9:365:11 | out | provenance | |
| Test.java:370:21:370:41 | (...)... : JsonElement | Test.java:371:10:371:11 | in : JsonElement | provenance | |
| Test.java:370:34:370:41 | source(...) : Object | Test.java:370:21:370:41 | (...)... : JsonElement | provenance | |
| Test.java:371:10:371:11 | in : JsonElement | Test.java:371:10:371:25 | getAsString(...) : String | provenance | MaD:21 |
| Test.java:371:10:371:25 | getAsString(...) : String | Test.java:372:9:372:11 | out | provenance | |
| Test.java:377:23:377:45 | (...)... : JsonPrimitive | Test.java:378:10:378:11 | in : JsonPrimitive | provenance | |
| Test.java:377:38:377:45 | source(...) : Object | Test.java:377:23:377:45 | (...)... : JsonPrimitive | provenance | |
| Test.java:378:10:378:11 | in : JsonPrimitive | Test.java:378:10:378:25 | getAsString(...) : String | provenance | MaD:21 |
| Test.java:378:10:378:25 | getAsString(...) : String | Test.java:379:9:379:11 | out | provenance | |
| Test.java:384:21:384:41 | (...)... : JsonElement | Test.java:385:10:385:11 | in : JsonElement | provenance | |
| Test.java:384:34:384:41 | source(...) : Object | Test.java:384:21:384:41 | (...)... : JsonElement | provenance | |
| Test.java:385:10:385:11 | in : JsonElement | Test.java:385:10:385:22 | toString(...) : String | provenance | MaD:22 |
| Test.java:385:10:385:22 | toString(...) : String | Test.java:386:9:386:11 | out | provenance | |
| Test.java:391:16:391:31 | (...)... : String | Test.java:392:12:392:13 | in : String | provenance | |
| Test.java:391:24:391:31 | source(...) : Object | Test.java:391:16:391:31 | (...)... : String | provenance | |
| Test.java:392:4:392:6 | out [post update] : JsonObject [<map.key>] : String | Test.java:393:26:393:28 | out : JsonObject [<map.key>] : String | provenance | |
| Test.java:392:12:392:13 | in : String | Test.java:392:4:392:6 | out [post update] : JsonObject [<map.key>] : String | provenance | MaD:32 |
| Test.java:393:26:393:28 | out : JsonObject [<map.key>] : String | Test.java:24:26:24:45 | container : JsonObject [<map.key>] : String | provenance | |
| Test.java:393:26:393:28 | out : JsonObject [<map.key>] : String | Test.java:393:9:393:29 | getMapKeyDefault(...) | provenance | MaD:41 |
| Test.java:398:21:398:41 | (...)... : JsonElement | Test.java:399:18:399:19 | in : JsonElement | provenance | |
| Test.java:398:34:398:41 | source(...) : Object | Test.java:398:21:398:41 | (...)... : JsonElement | provenance | |
| Test.java:399:4:399:6 | out [post update] : JsonObject [<map.value>] : JsonElement | Test.java:400:28:400:30 | out : JsonObject [<map.value>] : JsonElement | provenance | |
| Test.java:399:18:399:19 | in : JsonElement | Test.java:399:4:399:6 | out [post update] : JsonObject [<map.value>] : JsonElement | provenance | MaD:33 |
| Test.java:400:28:400:30 | out : JsonObject [<map.value>] : JsonElement | Test.java:26:33:26:52 | container : JsonObject [<map.value>] : JsonElement | provenance | |
| Test.java:400:28:400:30 | out : JsonObject [<map.value>] : JsonElement | Test.java:400:9:400:31 | getMapValueDefault(...) | provenance | MaD:40 |
| Test.java:405:16:405:31 | (...)... : String | Test.java:406:20:406:21 | in : String | provenance | |
| Test.java:405:24:405:31 | source(...) : Object | Test.java:405:16:405:31 | (...)... : String | provenance | |
| Test.java:406:4:406:6 | out [post update] : JsonObject [<map.key>] : String | Test.java:407:26:407:28 | out : JsonObject [<map.key>] : String | provenance | |
| Test.java:406:20:406:21 | in : String | Test.java:406:4:406:6 | out [post update] : JsonObject [<map.key>] : String | provenance | MaD:34 |
| Test.java:407:26:407:28 | out : JsonObject [<map.key>] : String | Test.java:24:26:24:45 | container : JsonObject [<map.key>] : String | provenance | |
| Test.java:407:26:407:28 | out : JsonObject [<map.key>] : String | Test.java:407:9:407:29 | getMapKeyDefault(...) | provenance | MaD:41 |
| Test.java:412:16:412:31 | (...)... : String | Test.java:413:34:413:35 | in : String | provenance | |
| Test.java:412:24:412:31 | source(...) : Object | Test.java:412:16:412:31 | (...)... : String | provenance | |
| Test.java:413:4:413:6 | out [post update] : JsonObject [<map.value>] : Object | Test.java:414:28:414:30 | out : JsonObject [<map.value>] : Object | provenance | |
| Test.java:413:34:413:35 | in : String | Test.java:413:4:413:6 | out [post update] : JsonObject [<map.value>] : Object | provenance | MaD:35 |
| Test.java:414:28:414:30 | out : JsonObject [<map.value>] : Object | Test.java:26:33:26:52 | container : JsonObject [<map.value>] : Object | provenance | |
| Test.java:414:28:414:30 | out : JsonObject [<map.value>] : Object | Test.java:414:9:414:31 | getMapValueDefault(...) | provenance | MaD:40 |
| Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | Test.java:420:10:420:11 | in : JsonObject [<map.key>] : String | provenance | |
| Test.java:419:41:419:57 | (...)... : String | Test.java:29:34:29:43 | key : String | provenance | |
| Test.java:419:41:419:57 | (...)... : String | Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | provenance | MaD:32 |
| Test.java:419:50:419:57 | source(...) : Object | Test.java:419:41:419:57 | (...)... : String | provenance | |
| Test.java:420:10:420:11 | in : JsonObject [<map.key>] : String | Test.java:420:10:420:19 | asMap(...) : Map [<map.key>] : String | provenance | MaD:36 |
| Test.java:420:10:420:19 | asMap(...) : Map [<map.key>] : String | Test.java:421:19:421:21 | out : Map [<map.key>] : String | provenance | |
| Test.java:421:19:421:21 | out : Map [<map.key>] : String | Test.java:21:18:21:29 | map : Map [<map.key>] : String | provenance | |
| Test.java:421:19:421:21 | out : Map [<map.key>] : String | Test.java:421:9:421:22 | getMapKey(...) | provenance | MaD:47 |
| Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | Test.java:427:10:427:11 | in : JsonObject [<map.value>] : JsonElement | provenance | |
| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | |
| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | provenance | MaD:33 |
| Test.java:426:57:426:64 | source(...) : Object | Test.java:426:43:426:64 | (...)... : JsonElement | provenance | |
| Test.java:427:10:427:11 | in : JsonObject [<map.value>] : JsonElement | Test.java:427:10:427:19 | asMap(...) : Map [<map.value>] : JsonElement | provenance | MaD:37 |
| Test.java:427:10:427:19 | asMap(...) : Map [<map.value>] : JsonElement | Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | provenance | |
| Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | Test.java:23:20:23:31 | map : Map [<map.value>] : JsonElement | provenance | |
| Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | Test.java:428:9:428:24 | getMapValue(...) | provenance | MaD:46 |
| Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | Test.java:434:10:434:11 | in : JsonObject [<map.key>] : String | provenance | |
| Test.java:433:41:433:57 | (...)... : String | Test.java:29:34:29:43 | key : String | provenance | |
| Test.java:433:41:433:57 | (...)... : String | Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | provenance | MaD:32 |
| Test.java:433:50:433:57 | source(...) : Object | Test.java:433:41:433:57 | (...)... : String | provenance | |
| Test.java:434:10:434:11 | in : JsonObject [<map.key>] : String | Test.java:434:10:434:22 | entrySet(...) : Set [<element>, <map.key>] : String | provenance | MaD:38 |
| Test.java:434:10:434:22 | entrySet(...) : Set [<element>, <map.key>] : String | Test.java:435:37:435:39 | out : Set [<element>, <map.key>] : String | provenance | |
| Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | Test.java:25:25:25:48 | container : Entry [<map.key>] : String | provenance | |
| Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | Test.java:435:9:435:41 | getMapKeyDefault(...) | provenance | MaD:48 |
| Test.java:435:37:435:39 | out : Set [<element>, <map.key>] : String | Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | provenance | MaD:44 |
| Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | Test.java:441:10:441:11 | in : JsonObject [<map.value>] : JsonElement | provenance | |
| Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | |
| Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | provenance | MaD:33 |
| Test.java:440:57:440:64 | source(...) : Object | Test.java:440:43:440:64 | (...)... : JsonElement | provenance | |
| Test.java:441:10:441:11 | in : JsonObject [<map.value>] : JsonElement | Test.java:441:10:441:22 | entrySet(...) : Set [<element>, <map.value>] : JsonElement | provenance | MaD:39 |
| Test.java:441:10:441:22 | entrySet(...) : Set [<element>, <map.value>] : JsonElement | Test.java:442:39:442:41 | out : Set [<element>, <map.value>] : JsonElement | provenance | |
| Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | Test.java:27:28:27:51 | container : Entry [<map.value>] : JsonElement | provenance | |
| Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) | provenance | MaD:49 |
| Test.java:442:39:442:41 | out : Set [<element>, <map.value>] : JsonElement | Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | provenance | MaD:44 |
| Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | Test.java:448:10:448:11 | in : JsonObject [<map.value>] : JsonElement | provenance | |
| Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | |
| Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | provenance | MaD:33 |
| Test.java:447:57:447:64 | source(...) : Object | Test.java:447:43:447:64 | (...)... : JsonElement | provenance | |
| Test.java:448:10:448:11 | in : JsonObject [<map.value>] : JsonElement | Test.java:448:10:448:21 | get(...) : JsonElement | provenance | MaD:40 |
| Test.java:448:10:448:21 | get(...) : JsonElement | Test.java:449:9:449:11 | out | provenance | |
| Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | Test.java:455:10:455:11 | in : JsonObject [<map.key>] : String | provenance | |
| Test.java:454:41:454:57 | (...)... : String | Test.java:29:34:29:43 | key : String | provenance | |
| Test.java:454:41:454:57 | (...)... : String | Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | provenance | MaD:32 |
| Test.java:454:50:454:57 | source(...) : Object | Test.java:454:41:454:57 | (...)... : String | provenance | |
| Test.java:455:10:455:11 | in : JsonObject [<map.key>] : String | Test.java:455:10:455:20 | keySet(...) : Set [<element>] : String | provenance | MaD:41 |
| Test.java:455:10:455:20 | keySet(...) : Set [<element>] : String | Test.java:456:20:456:22 | out : Set [<element>] : String | provenance | |
| Test.java:456:20:456:22 | out : Set [<element>] : String | Test.java:22:19:22:32 | it : Set [<element>] : String | provenance | |
| Test.java:456:20:456:22 | out : Set [<element>] : String | Test.java:456:9:456:23 | getElement(...) | provenance | MaD:44 |
| Test.java:461:19:461:37 | (...)... : Number | Test.java:462:28:462:29 | in : Number | provenance | |
| Test.java:461:30:461:37 | source(...) : Object | Test.java:461:19:461:37 | (...)... : Number | provenance | |
| Test.java:462:10:462:30 | new JsonPrimitive(...) : JsonPrimitive | Test.java:463:9:463:11 | out | provenance | |
| Test.java:462:28:462:29 | in : Number | Test.java:462:10:462:30 | new JsonPrimitive(...) : JsonPrimitive | provenance | MaD:42 |
| Test.java:468:16:468:31 | (...)... : String | Test.java:469:28:469:29 | in : String | provenance | |
| Test.java:468:24:468:31 | source(...) : Object | Test.java:468:16:468:31 | (...)... : String | provenance | |
| Test.java:469:10:469:30 | new JsonPrimitive(...) : JsonPrimitive | Test.java:470:9:470:11 | out | provenance | |
| Test.java:469:28:469:29 | in : String | Test.java:469:10:469:30 | new JsonPrimitive(...) : JsonPrimitive | provenance | MaD:43 |
nodes
| Test.java:21:18:21:29 | map : Map [<map.key>] : String | semmle.label | map : Map [<map.key>] : String |
| Test.java:21:41:21:43 | map : Map [<map.key>] : String | semmle.label | map : Map [<map.key>] : String |
| Test.java:21:41:21:52 | keySet(...) : Set [<element>] : String | semmle.label | keySet(...) : Set [<element>] : String |
| Test.java:21:41:21:63 | iterator(...) : Iterator [<element>] : String | semmle.label | iterator(...) : Iterator [<element>] : String |
| Test.java:21:41:21:70 | next(...) : String | semmle.label | next(...) : String |
| Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | semmle.label | it : JsonArray [<element>] : JsonElement |
| Test.java:22:19:22:32 | it : List [<element>] : JsonElement | semmle.label | it : List [<element>] : JsonElement |
| Test.java:22:19:22:32 | it : Set [<element>] : String | semmle.label | it : Set [<element>] : String |
| Test.java:22:44:22:45 | it : JsonArray [<element>] : JsonElement | semmle.label | it : JsonArray [<element>] : JsonElement |
| Test.java:22:44:22:45 | it : List [<element>] : JsonElement | semmle.label | it : List [<element>] : JsonElement |
| Test.java:22:44:22:45 | it : Set [<element>] : String | semmle.label | it : Set [<element>] : String |
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : JsonElement | semmle.label | iterator(...) : Iterator [<element>] : JsonElement |
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : JsonElement | semmle.label | iterator(...) : Iterator [<element>] : JsonElement |
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : String | semmle.label | iterator(...) : Iterator [<element>] : String |
| Test.java:22:44:22:63 | next(...) : JsonElement | semmle.label | next(...) : JsonElement |
| Test.java:22:44:22:63 | next(...) : JsonElement | semmle.label | next(...) : JsonElement |
| Test.java:22:44:22:63 | next(...) : String | semmle.label | next(...) : String |
| Test.java:23:20:23:31 | map : Map [<map.value>] : JsonElement | semmle.label | map : Map [<map.value>] : JsonElement |
| Test.java:23:43:23:45 | map : Map [<map.value>] : JsonElement | semmle.label | map : Map [<map.value>] : JsonElement |
| Test.java:23:43:23:55 | get(...) : JsonElement | semmle.label | get(...) : JsonElement |
| Test.java:24:26:24:45 | container : JsonObject [<map.key>] : String | semmle.label | container : JsonObject [<map.key>] : String |
| Test.java:24:57:24:65 | container : JsonObject [<map.key>] : String | semmle.label | container : JsonObject [<map.key>] : String |
| Test.java:24:57:24:74 | keySet(...) : Set [<element>] : String | semmle.label | keySet(...) : Set [<element>] : String |
| Test.java:24:57:24:85 | iterator(...) : Iterator [<element>] : String | semmle.label | iterator(...) : Iterator [<element>] : String |
| Test.java:24:57:24:92 | next(...) : String | semmle.label | next(...) : String |
| Test.java:25:25:25:48 | container : Entry [<map.key>] : String | semmle.label | container : Entry [<map.key>] : String |
| Test.java:25:60:25:68 | container : Entry [<map.key>] : String | semmle.label | container : Entry [<map.key>] : String |
| Test.java:25:60:25:77 | getKey(...) : String | semmle.label | getKey(...) : String |
| Test.java:26:33:26:52 | container : JsonObject [<map.value>] : JsonElement | semmle.label | container : JsonObject [<map.value>] : JsonElement |
| Test.java:26:33:26:52 | container : JsonObject [<map.value>] : Object | semmle.label | container : JsonObject [<map.value>] : Object |
| Test.java:26:64:26:72 | container : JsonObject [<map.value>] : JsonElement | semmle.label | container : JsonObject [<map.value>] : JsonElement |
| Test.java:26:64:26:72 | container : JsonObject [<map.value>] : Object | semmle.label | container : JsonObject [<map.value>] : Object |
| Test.java:26:64:26:82 | get(...) : JsonElement | semmle.label | get(...) : JsonElement |
| Test.java:26:64:26:82 | get(...) : JsonElement | semmle.label | get(...) : JsonElement |
| Test.java:27:28:27:51 | container : Entry [<map.value>] : JsonElement | semmle.label | container : Entry [<map.value>] : JsonElement |
| Test.java:27:63:27:71 | container : Entry [<map.value>] : JsonElement | semmle.label | container : Entry [<map.value>] : JsonElement |
| Test.java:27:63:27:82 | getValue(...) : JsonElement | semmle.label | getValue(...) : JsonElement |
| Test.java:28:34:28:52 | element : JsonElement | semmle.label | element : JsonElement |
| Test.java:28:88:28:88 | a [post update] : JsonArray [<element>] : JsonElement | semmle.label | a [post update] : JsonArray [<element>] : JsonElement |
| Test.java:28:94:28:100 | element : JsonElement | semmle.label | element : JsonElement |
| Test.java:28:111:28:111 | a : JsonArray [<element>] : JsonElement | semmle.label | a : JsonArray [<element>] : JsonElement |
| Test.java:29:34:29:43 | key : String | semmle.label | key : String |
| Test.java:29:81:29:81 | o [post update] : JsonObject [<map.key>] : String | semmle.label | o [post update] : JsonObject [<map.key>] : String |
| Test.java:29:87:29:89 | key : String | semmle.label | key : String |
| Test.java:29:120:29:120 | o : JsonObject [<map.key>] : String | semmle.label | o : JsonObject [<map.key>] : String |
| Test.java:30:36:30:54 | element : JsonElement | semmle.label | element : JsonElement |
| Test.java:30:92:30:92 | o [post update] : JsonObject [<map.value>] : JsonElement | semmle.label | o [post update] : JsonObject [<map.value>] : JsonElement |
| Test.java:30:104:30:110 | element : JsonElement | semmle.label | element : JsonElement |
| Test.java:30:121:30:121 | o : JsonObject [<map.value>] : JsonElement | semmle.label | o : JsonObject [<map.value>] : JsonElement |
| Test.java:39:20:39:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader |
| Test.java:39:32:39:39 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:40:10:40:11 | in : JsonReader | semmle.label | in : JsonReader |
| Test.java:40:10:40:22 | nextName(...) : String | semmle.label | nextName(...) : String |
| Test.java:41:9:41:11 | out | semmle.label | out |
| Test.java:46:20:46:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader |
| Test.java:46:32:46:39 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:47:10:47:11 | in : JsonReader | semmle.label | in : JsonReader |
| Test.java:47:10:47:24 | nextString(...) : String | semmle.label | nextString(...) : String |
| Test.java:48:9:48:11 | out | semmle.label | out |
| Test.java:53:21:53:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:53:34:53:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:55:10:55:43 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:55:28:55:29 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:56:9:56:11 | out | semmle.label | out |
| Test.java:61:21:61:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:61:34:61:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:63:10:63:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:63:28:63:29 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:64:9:64:11 | out | semmle.label | out |
| Test.java:69:21:69:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:69:34:69:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:71:10:71:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:71:28:71:29 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:72:9:72:11 | out | semmle.label | out |
| Test.java:77:20:77:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader |
| Test.java:77:32:77:39 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:79:10:79:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:79:28:79:29 | in : JsonReader | semmle.label | in : JsonReader |
| Test.java:80:9:80:11 | out | semmle.label | out |
| Test.java:85:20:85:39 | (...)... : JsonReader | semmle.label | (...)... : JsonReader |
| Test.java:85:32:85:39 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:87:10:87:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:87:28:87:29 | in : JsonReader | semmle.label | in : JsonReader |
| Test.java:88:9:88:11 | out | semmle.label | out |
| Test.java:93:16:93:31 | (...)... : Reader | semmle.label | (...)... : Reader |
| Test.java:93:24:93:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:95:10:95:43 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:95:28:95:29 | in : Reader | semmle.label | in : Reader |
| Test.java:96:9:96:11 | out | semmle.label | out |
| Test.java:101:16:101:31 | (...)... : Reader | semmle.label | (...)... : Reader |
| Test.java:101:24:101:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:103:10:103:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:103:28:103:29 | in : Reader | semmle.label | in : Reader |
| Test.java:104:9:104:11 | out | semmle.label | out |
| Test.java:109:16:109:31 | (...)... : Reader | semmle.label | (...)... : Reader |
| Test.java:109:24:109:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:111:10:111:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:111:28:111:29 | in : Reader | semmle.label | in : Reader |
| Test.java:112:9:112:11 | out | semmle.label | out |
| Test.java:117:16:117:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:117:24:117:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:119:10:119:43 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:119:28:119:29 | in : String | semmle.label | in : String |
| Test.java:120:9:120:11 | out | semmle.label | out |
| Test.java:125:16:125:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:125:24:125:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:127:10:127:42 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:127:28:127:29 | in : String | semmle.label | in : String |
| Test.java:128:9:128:11 | out | semmle.label | out |
| Test.java:133:16:133:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:133:24:133:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:135:10:135:47 | fromJson(...) : Object | semmle.label | fromJson(...) : Object |
| Test.java:135:28:135:29 | in : String | semmle.label | in : String |
| Test.java:136:9:136:11 | out | semmle.label | out |
| Test.java:141:16:141:31 | (...)... : Reader | semmle.label | (...)... : Reader |
| Test.java:141:24:141:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | semmle.label | newJsonReader(...) : JsonReader |
| Test.java:143:33:143:34 | in : Reader | semmle.label | in : Reader |
| Test.java:144:9:144:11 | out | semmle.label | out |
| Test.java:149:16:149:31 | (...)... : Writer | semmle.label | (...)... : Writer |
| Test.java:149:24:149:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | semmle.label | newJsonWriter(...) : JsonWriter |
| Test.java:151:33:151:34 | in : Writer | semmle.label | in : Writer |
| Test.java:152:9:152:11 | out | semmle.label | out |
| Test.java:157:21:157:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:157:34:157:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:159:10:159:28 | toJson(...) : String | semmle.label | toJson(...) : String |
| Test.java:159:26:159:27 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:160:9:160:11 | out | semmle.label | out |
| Test.java:165:21:165:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:165:34:165:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:167:20:167:21 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:167:24:167:26 | out [post update] : Appendable | semmle.label | out [post update] : Appendable |
| Test.java:168:9:168:11 | out | semmle.label | out |
| Test.java:173:21:173:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:173:34:173:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:175:20:175:21 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:175:24:175:26 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter |
| Test.java:176:9:176:11 | out | semmle.label | out |
| Test.java:181:16:181:31 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:181:24:181:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:183:10:183:28 | toJson(...) : String | semmle.label | toJson(...) : String |
| Test.java:183:26:183:27 | in : Object | semmle.label | in : Object |
| Test.java:184:9:184:11 | out | semmle.label | out |
| Test.java:189:16:189:31 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:189:24:189:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:191:20:191:21 | in : Object | semmle.label | in : Object |
| Test.java:191:24:191:26 | out [post update] : Appendable | semmle.label | out [post update] : Appendable |
| Test.java:192:9:192:11 | out | semmle.label | out |
| Test.java:197:16:197:31 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:197:24:197:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:199:10:199:40 | toJson(...) : String | semmle.label | toJson(...) : String |
| Test.java:199:26:199:27 | in : Object | semmle.label | in : Object |
| Test.java:200:9:200:11 | out | semmle.label | out |
| Test.java:205:16:205:31 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:205:24:205:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:207:20:207:21 | in : Object | semmle.label | in : Object |
| Test.java:207:36:207:38 | out [post update] : Appendable | semmle.label | out [post update] : Appendable |
| Test.java:208:9:208:11 | out | semmle.label | out |
| Test.java:213:16:213:31 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:213:24:213:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:215:20:215:21 | in : Object | semmle.label | in : Object |
| Test.java:215:36:215:38 | out [post update] : JsonWriter | semmle.label | out [post update] : JsonWriter |
| Test.java:216:9:216:11 | out | semmle.label | out |
| Test.java:221:16:221:31 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:221:24:221:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | semmle.label | toJsonTree(...) : JsonElement |
| Test.java:223:30:223:31 | in : Object | semmle.label | in : Object |
| Test.java:224:9:224:11 | out | semmle.label | out |
| Test.java:229:16:229:31 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:229:24:229:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | semmle.label | toJsonTree(...) : JsonElement |
| Test.java:231:30:231:31 | in : Object | semmle.label | in : Object |
| Test.java:232:9:232:11 | out | semmle.label | out |
| Test.java:237:17:237:33 | (...)... : Boolean | semmle.label | (...)... : Boolean |
| Test.java:237:26:237:33 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:238:4:238:6 | out [post update] : JsonArray [<element>] : Object | semmle.label | out [post update] : JsonArray [<element>] : Object |
| Test.java:238:12:238:13 | in : Boolean | semmle.label | in : Boolean |
| Test.java:239:9:239:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:239:20:239:22 | out : JsonArray [<element>] : Object | semmle.label | out : JsonArray [<element>] : Object |
| Test.java:244:19:244:37 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:244:30:244:37 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:245:4:245:6 | out [post update] : JsonArray [<element>] : Object | semmle.label | out [post update] : JsonArray [<element>] : Object |
| Test.java:245:12:245:13 | in : Number | semmle.label | in : Number |
| Test.java:246:9:246:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:246:20:246:22 | out : JsonArray [<element>] : Object | semmle.label | out : JsonArray [<element>] : Object |
| Test.java:251:21:251:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:251:34:251:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:252:4:252:6 | out [post update] : JsonArray [<element>] : JsonElement | semmle.label | out [post update] : JsonArray [<element>] : JsonElement |
| Test.java:252:12:252:13 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:253:9:253:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | semmle.label | out : JsonArray [<element>] : JsonElement |
| Test.java:258:16:258:31 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:258:24:258:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:259:4:259:6 | out [post update] : JsonArray [<element>] : Object | semmle.label | out [post update] : JsonArray [<element>] : Object |
| Test.java:259:12:259:13 | in : Number | semmle.label | in : Number |
| Test.java:260:9:260:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:260:20:260:22 | out : JsonArray [<element>] : Object | semmle.label | out : JsonArray [<element>] : Object |
| Test.java:265:16:265:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:265:24:265:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:266:4:266:6 | out [post update] : JsonArray [<element>] : Object | semmle.label | out [post update] : JsonArray [<element>] : Object |
| Test.java:266:12:266:13 | in : String | semmle.label | in : String |
| Test.java:267:9:267:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:267:20:267:22 | out : JsonArray [<element>] : Object | semmle.label | out : JsonArray [<element>] : Object |
| Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | semmle.label | newWithElementDefault(...) : JsonArray [<element>] : JsonElement |
| Test.java:272:41:272:62 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:272:55:272:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:273:4:273:6 | out [post update] : JsonArray [<element>] : JsonElement | semmle.label | out [post update] : JsonArray [<element>] : JsonElement |
| Test.java:273:15:273:16 | in : JsonArray [<element>] : JsonElement | semmle.label | in : JsonArray [<element>] : JsonElement |
| Test.java:274:9:274:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | semmle.label | out : JsonArray [<element>] : JsonElement |
| Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | semmle.label | newWithElementDefault(...) : JsonArray [<element>] : JsonElement |
| Test.java:279:41:279:62 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:279:55:279:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:280:10:280:11 | in : JsonArray [<element>] : JsonElement | semmle.label | in : JsonArray [<element>] : JsonElement |
| Test.java:280:10:280:20 | asList(...) : List [<element>] : JsonElement | semmle.label | asList(...) : List [<element>] : JsonElement |
| Test.java:281:9:281:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:281:20:281:22 | out : List [<element>] : JsonElement | semmle.label | out : List [<element>] : JsonElement |
| Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | semmle.label | newWithElementDefault(...) : JsonArray [<element>] : JsonElement |
| Test.java:286:41:286:62 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:286:55:286:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:287:10:287:11 | in : JsonArray [<element>] : JsonElement | semmle.label | in : JsonArray [<element>] : JsonElement |
| Test.java:287:10:287:18 | get(...) : JsonElement | semmle.label | get(...) : JsonElement |
| Test.java:288:9:288:11 | out | semmle.label | out |
| Test.java:293:21:293:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:293:34:293:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:294:4:294:6 | out [post update] : JsonArray [<element>] : JsonElement | semmle.label | out [post update] : JsonArray [<element>] : JsonElement |
| Test.java:294:15:294:16 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:295:9:295:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | semmle.label | out : JsonArray [<element>] : JsonElement |
| Test.java:300:19:300:37 | (...)... : JsonArray | semmle.label | (...)... : JsonArray |
| Test.java:300:30:300:37 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:301:10:301:11 | in : JsonArray | semmle.label | in : JsonArray |
| Test.java:301:10:301:23 | getAsByte(...) : Number | semmle.label | getAsByte(...) : Number |
| Test.java:302:9:302:11 | out | semmle.label | out |
| Test.java:307:21:307:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:307:34:307:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:308:10:308:11 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:308:10:308:23 | getAsByte(...) : Number | semmle.label | getAsByte(...) : Number |
| Test.java:309:9:309:11 | out | semmle.label | out |
| Test.java:314:23:314:45 | (...)... : JsonPrimitive | semmle.label | (...)... : JsonPrimitive |
| Test.java:314:38:314:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:315:10:315:11 | in : JsonPrimitive | semmle.label | in : JsonPrimitive |
| Test.java:315:10:315:23 | getAsByte(...) : Number | semmle.label | getAsByte(...) : Number |
| Test.java:316:9:316:11 | out | semmle.label | out |
| Test.java:321:19:321:37 | (...)... : JsonArray | semmle.label | (...)... : JsonArray |
| Test.java:321:30:321:37 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:322:10:322:11 | in : JsonArray | semmle.label | in : JsonArray |
| Test.java:322:10:322:28 | getAsCharacter(...) : Number | semmle.label | getAsCharacter(...) : Number |
| Test.java:323:9:323:11 | out | semmle.label | out |
| Test.java:328:21:328:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:328:34:328:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:329:10:329:11 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:329:10:329:28 | getAsCharacter(...) : Number | semmle.label | getAsCharacter(...) : Number |
| Test.java:330:9:330:11 | out | semmle.label | out |
| Test.java:335:23:335:45 | (...)... : JsonPrimitive | semmle.label | (...)... : JsonPrimitive |
| Test.java:335:38:335:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:336:10:336:11 | in : JsonPrimitive | semmle.label | in : JsonPrimitive |
| Test.java:336:10:336:28 | getAsCharacter(...) : Number | semmle.label | getAsCharacter(...) : Number |
| Test.java:337:9:337:11 | out | semmle.label | out |
| Test.java:342:21:342:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:342:34:342:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:343:10:343:11 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | semmle.label | getAsJsonArray(...) : JsonArray |
| Test.java:344:9:344:11 | out | semmle.label | out |
| Test.java:349:21:349:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:349:34:349:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:350:10:350:11 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | semmle.label | getAsJsonObject(...) : JsonObject |
| Test.java:351:9:351:11 | out | semmle.label | out |
| Test.java:356:21:356:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:356:34:356:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:357:10:357:11 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | semmle.label | getAsJsonPrimitive(...) : JsonPrimitive |
| Test.java:358:9:358:11 | out | semmle.label | out |
| Test.java:363:19:363:37 | (...)... : JsonArray | semmle.label | (...)... : JsonArray |
| Test.java:363:30:363:37 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:364:10:364:11 | in : JsonArray | semmle.label | in : JsonArray |
| Test.java:364:10:364:25 | getAsString(...) : String | semmle.label | getAsString(...) : String |
| Test.java:365:9:365:11 | out | semmle.label | out |
| Test.java:370:21:370:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:370:34:370:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:371:10:371:11 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:371:10:371:25 | getAsString(...) : String | semmle.label | getAsString(...) : String |
| Test.java:372:9:372:11 | out | semmle.label | out |
| Test.java:377:23:377:45 | (...)... : JsonPrimitive | semmle.label | (...)... : JsonPrimitive |
| Test.java:377:38:377:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:378:10:378:11 | in : JsonPrimitive | semmle.label | in : JsonPrimitive |
| Test.java:378:10:378:25 | getAsString(...) : String | semmle.label | getAsString(...) : String |
| Test.java:379:9:379:11 | out | semmle.label | out |
| Test.java:384:21:384:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:384:34:384:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:385:10:385:11 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:385:10:385:22 | toString(...) : String | semmle.label | toString(...) : String |
| Test.java:386:9:386:11 | out | semmle.label | out |
| Test.java:391:16:391:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:391:24:391:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:392:4:392:6 | out [post update] : JsonObject [<map.key>] : String | semmle.label | out [post update] : JsonObject [<map.key>] : String |
| Test.java:392:12:392:13 | in : String | semmle.label | in : String |
| Test.java:393:9:393:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:393:26:393:28 | out : JsonObject [<map.key>] : String | semmle.label | out : JsonObject [<map.key>] : String |
| Test.java:398:21:398:41 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:398:34:398:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:399:4:399:6 | out [post update] : JsonObject [<map.value>] : JsonElement | semmle.label | out [post update] : JsonObject [<map.value>] : JsonElement |
| Test.java:399:18:399:19 | in : JsonElement | semmle.label | in : JsonElement |
| Test.java:400:9:400:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:400:28:400:30 | out : JsonObject [<map.value>] : JsonElement | semmle.label | out : JsonObject [<map.value>] : JsonElement |
| Test.java:405:16:405:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:405:24:405:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:406:4:406:6 | out [post update] : JsonObject [<map.key>] : String | semmle.label | out [post update] : JsonObject [<map.key>] : String |
| Test.java:406:20:406:21 | in : String | semmle.label | in : String |
| Test.java:407:9:407:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:407:26:407:28 | out : JsonObject [<map.key>] : String | semmle.label | out : JsonObject [<map.key>] : String |
| Test.java:412:16:412:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:412:24:412:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:413:4:413:6 | out [post update] : JsonObject [<map.value>] : Object | semmle.label | out [post update] : JsonObject [<map.value>] : Object |
| Test.java:413:34:413:35 | in : String | semmle.label | in : String |
| Test.java:414:9:414:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:414:28:414:30 | out : JsonObject [<map.value>] : Object | semmle.label | out : JsonObject [<map.value>] : Object |
| Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | semmle.label | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String |
| Test.java:419:41:419:57 | (...)... : String | semmle.label | (...)... : String |
| Test.java:419:50:419:57 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:420:10:420:11 | in : JsonObject [<map.key>] : String | semmle.label | in : JsonObject [<map.key>] : String |
| Test.java:420:10:420:19 | asMap(...) : Map [<map.key>] : String | semmle.label | asMap(...) : Map [<map.key>] : String |
| Test.java:421:9:421:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:421:19:421:21 | out : Map [<map.key>] : String | semmle.label | out : Map [<map.key>] : String |
| Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | semmle.label | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement |
| Test.java:426:43:426:64 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:426:57:426:64 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:427:10:427:11 | in : JsonObject [<map.value>] : JsonElement | semmle.label | in : JsonObject [<map.value>] : JsonElement |
| Test.java:427:10:427:19 | asMap(...) : Map [<map.value>] : JsonElement | semmle.label | asMap(...) : Map [<map.value>] : JsonElement |
| Test.java:428:9:428:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | semmle.label | out : Map [<map.value>] : JsonElement |
| Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | semmle.label | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String |
| Test.java:433:41:433:57 | (...)... : String | semmle.label | (...)... : String |
| Test.java:433:50:433:57 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:434:10:434:11 | in : JsonObject [<map.key>] : String | semmle.label | in : JsonObject [<map.key>] : String |
| Test.java:434:10:434:22 | entrySet(...) : Set [<element>, <map.key>] : String | semmle.label | entrySet(...) : Set [<element>, <map.key>] : String |
| Test.java:435:9:435:41 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | semmle.label | getElement(...) : Entry [<map.key>] : String |
| Test.java:435:37:435:39 | out : Set [<element>, <map.key>] : String | semmle.label | out : Set [<element>, <map.key>] : String |
| Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | semmle.label | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement |
| Test.java:440:43:440:64 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:440:57:440:64 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:441:10:441:11 | in : JsonObject [<map.value>] : JsonElement | semmle.label | in : JsonObject [<map.value>] : JsonElement |
| Test.java:441:10:441:22 | entrySet(...) : Set [<element>, <map.value>] : JsonElement | semmle.label | entrySet(...) : Set [<element>, <map.value>] : JsonElement |
| Test.java:442:9:442:43 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | semmle.label | getElement(...) : Entry [<map.value>] : JsonElement |
| Test.java:442:39:442:41 | out : Set [<element>, <map.value>] : JsonElement | semmle.label | out : Set [<element>, <map.value>] : JsonElement |
| Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | semmle.label | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement |
| Test.java:447:43:447:64 | (...)... : JsonElement | semmle.label | (...)... : JsonElement |
| Test.java:447:57:447:64 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:448:10:448:11 | in : JsonObject [<map.value>] : JsonElement | semmle.label | in : JsonObject [<map.value>] : JsonElement |
| Test.java:448:10:448:21 | get(...) : JsonElement | semmle.label | get(...) : JsonElement |
| Test.java:449:9:449:11 | out | semmle.label | out |
| Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | semmle.label | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String |
| Test.java:454:41:454:57 | (...)... : String | semmle.label | (...)... : String |
| Test.java:454:50:454:57 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:455:10:455:11 | in : JsonObject [<map.key>] : String | semmle.label | in : JsonObject [<map.key>] : String |
| Test.java:455:10:455:20 | keySet(...) : Set [<element>] : String | semmle.label | keySet(...) : Set [<element>] : String |
| Test.java:456:9:456:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:456:20:456:22 | out : Set [<element>] : String | semmle.label | out : Set [<element>] : String |
| Test.java:461:19:461:37 | (...)... : Number | semmle.label | (...)... : Number |
| Test.java:461:30:461:37 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:462:10:462:30 | new JsonPrimitive(...) : JsonPrimitive | semmle.label | new JsonPrimitive(...) : JsonPrimitive |
| Test.java:462:28:462:29 | in : Number | semmle.label | in : Number |
| Test.java:463:9:463:11 | out | semmle.label | out |
| Test.java:468:16:468:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:468:24:468:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:469:10:469:30 | new JsonPrimitive(...) : JsonPrimitive | semmle.label | new JsonPrimitive(...) : JsonPrimitive |
| Test.java:469:28:469:29 | in : String | semmle.label | in : String |
| Test.java:470:9:470:11 | out | semmle.label | out |
subpaths
| Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:253:9:253:23 | getElement(...) |
| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [<element>] : JsonElement | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement |
| Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:274:9:274:23 | getElement(...) |
| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [<element>] : JsonElement | Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement |
| Test.java:281:20:281:22 | out : List [<element>] : JsonElement | Test.java:22:19:22:32 | it : List [<element>] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:281:9:281:23 | getElement(...) |
| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | Test.java:28:111:28:111 | a : JsonArray [<element>] : JsonElement | Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement |
| Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | Test.java:22:44:22:63 | next(...) : JsonElement | Test.java:295:9:295:23 | getElement(...) |
| Test.java:393:26:393:28 | out : JsonObject [<map.key>] : String | Test.java:24:26:24:45 | container : JsonObject [<map.key>] : String | Test.java:24:57:24:92 | next(...) : String | Test.java:393:9:393:29 | getMapKeyDefault(...) |
| Test.java:400:28:400:30 | out : JsonObject [<map.value>] : JsonElement | Test.java:26:33:26:52 | container : JsonObject [<map.value>] : JsonElement | Test.java:26:64:26:82 | get(...) : JsonElement | Test.java:400:9:400:31 | getMapValueDefault(...) |
| Test.java:407:26:407:28 | out : JsonObject [<map.key>] : String | Test.java:24:26:24:45 | container : JsonObject [<map.key>] : String | Test.java:24:57:24:92 | next(...) : String | Test.java:407:9:407:29 | getMapKeyDefault(...) |
| Test.java:414:28:414:30 | out : JsonObject [<map.value>] : Object | Test.java:26:33:26:52 | container : JsonObject [<map.value>] : Object | Test.java:26:64:26:82 | get(...) : JsonElement | Test.java:414:9:414:31 | getMapValueDefault(...) |
| Test.java:419:41:419:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [<map.key>] : String | Test.java:419:20:419:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String |
| Test.java:421:19:421:21 | out : Map [<map.key>] : String | Test.java:21:18:21:29 | map : Map [<map.key>] : String | Test.java:21:41:21:70 | next(...) : String | Test.java:421:9:421:22 | getMapKey(...) |
| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [<map.value>] : JsonElement | Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement |
| Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | Test.java:23:20:23:31 | map : Map [<map.value>] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | Test.java:428:9:428:24 | getMapValue(...) |
| Test.java:433:41:433:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [<map.key>] : String | Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String |
| Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | Test.java:25:25:25:48 | container : Entry [<map.key>] : String | Test.java:25:60:25:77 | getKey(...) : String | Test.java:435:9:435:41 | getMapKeyDefault(...) |
| Test.java:440:43:440:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [<map.value>] : JsonElement | Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement |
| Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | Test.java:27:28:27:51 | container : Entry [<map.value>] : JsonElement | Test.java:27:63:27:82 | getValue(...) : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) |
| Test.java:447:43:447:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | Test.java:30:121:30:121 | o : JsonObject [<map.value>] : JsonElement | Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement |
| Test.java:454:41:454:57 | (...)... : String | Test.java:29:34:29:43 | key : String | Test.java:29:120:29:120 | o : JsonObject [<map.key>] : String | Test.java:454:20:454:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String |
| Test.java:456:20:456:22 | out : Set [<element>] : String | Test.java:22:19:22:32 | it : Set [<element>] : String | Test.java:22:44:22:63 | next(...) : String | Test.java:456:9:456:23 | getElement(...) |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,372 @@
models
| 1 | Summary: com.google.common.cache; Cache; true; asMap; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual |
| 2 | Summary: com.google.common.cache; Cache; true; asMap; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
| 3 | Summary: com.google.common.cache; Cache; true; get; (Object,Callable); ; Argument[this].MapValue; ReturnValue; value; manual |
| 4 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual |
| 5 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual |
| 6 | Summary: com.google.common.cache; Cache; true; getIfPresent; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
| 7 | Summary: com.google.common.cache; Cache; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual |
| 8 | Summary: com.google.common.cache; Cache; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
| 9 | Summary: com.google.common.cache; Cache; true; putAll; (Map); ; Argument[0].MapKey; Argument[this].MapKey; value; manual |
| 10 | Summary: com.google.common.cache; Cache; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual |
| 11 | Summary: com.google.common.cache; LoadingCache; true; apply; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
| 12 | Summary: com.google.common.cache; LoadingCache; true; get; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
| 13 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
| 14 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; Argument[this].MapKey; value; manual |
| 15 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual |
| 16 | Summary: com.google.common.cache; LoadingCache; true; getUnchecked; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
| 17 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
| 18 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual |
| 19 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 20 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual |
| 21 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual |
| 22 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
| 23 | Summary: java.util; Map; true; values; (); ; Argument[this].MapValue; ReturnValue.Element; value; manual |
edges
| Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | Test.java:16:49:16:57 | container : ConcurrentMap [<map.key>] : Object | provenance | |
| Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | Test.java:16:49:16:57 | container : ImmutableMap [<map.key>] : Object | provenance | |
| Test.java:16:49:16:57 | container : ConcurrentMap [<map.key>] : Object | Test.java:16:49:16:66 | keySet(...) : Set [<element>] : Object | provenance | MaD:20 |
| Test.java:16:49:16:57 | container : ImmutableMap [<map.key>] : Object | Test.java:16:49:16:66 | keySet(...) : Set [<element>] : Object | provenance | MaD:20 |
| Test.java:16:49:16:66 | keySet(...) : Set [<element>] : Object | Test.java:16:49:16:77 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:17 |
| Test.java:16:49:16:66 | keySet(...) : Set [<element>] : Object | Test.java:16:49:16:77 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:17 |
| Test.java:16:49:16:77 | iterator(...) : Iterator [<element>] : Object | Test.java:16:49:16:84 | next(...) : Object | provenance | MaD:19 |
| Test.java:16:49:16:77 | iterator(...) : Iterator [<element>] : Object | Test.java:16:49:16:84 | next(...) : Object | provenance | MaD:19 |
| Test.java:17:20:17:39 | container : Cache [<map.key>] : Object | Test.java:17:61:17:69 | container : Cache [<map.key>] : Object | provenance | |
| Test.java:17:20:17:39 | container : LoadingCache [<map.key>] : Object | Test.java:17:61:17:69 | container : LoadingCache [<map.key>] : Object | provenance | |
| Test.java:17:61:17:69 | container : Cache [<map.key>] : Object | Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | provenance | MaD:1 |
| Test.java:17:61:17:69 | container : LoadingCache [<map.key>] : Object | Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | provenance | MaD:1 |
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | provenance | |
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | provenance | |
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | provenance | MaD:20 |
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | provenance | MaD:20 |
| Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | Test.java:18:51:18:59 | container : ConcurrentMap [<map.value>] : Object | provenance | |
| Test.java:18:22:18:39 | container : ImmutableMap [<map.value>] : Object | Test.java:18:51:18:59 | container : ImmutableMap [<map.value>] : Object | provenance | |
| Test.java:18:51:18:59 | container : ConcurrentMap [<map.value>] : Object | Test.java:18:51:18:68 | values(...) : Collection [<element>] : Object | provenance | MaD:23 |
| Test.java:18:51:18:59 | container : ImmutableMap [<map.value>] : Object | Test.java:18:51:18:68 | values(...) : Collection [<element>] : Object | provenance | MaD:23 |
| Test.java:18:51:18:68 | values(...) : Collection [<element>] : Object | Test.java:18:51:18:79 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:17 |
| Test.java:18:51:18:68 | values(...) : Collection [<element>] : Object | Test.java:18:51:18:79 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:17 |
| Test.java:18:51:18:79 | iterator(...) : Iterator [<element>] : Object | Test.java:18:51:18:86 | next(...) : Object | provenance | MaD:19 |
| Test.java:18:51:18:79 | iterator(...) : Iterator [<element>] : Object | Test.java:18:51:18:86 | next(...) : Object | provenance | MaD:19 |
| Test.java:19:22:19:41 | container : Cache [<map.value>] : Object | Test.java:19:65:19:73 | container : Cache [<map.value>] : Object | provenance | |
| Test.java:19:65:19:73 | container : Cache [<map.value>] : Object | Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [<map.value>] : Object | provenance | MaD:2 |
| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | provenance | |
| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [<map.value>] : Object | Test.java:19:53:19:82 | getMapValue(...) : Object | provenance | MaD:23 |
| Test.java:20:33:20:41 | element : Object | Test.java:22:9:22:15 | element : Object | provenance | |
| Test.java:22:3:22:3 | l [post update] : ArrayList [<element>] : Object | Test.java:23:10:23:10 | l : ArrayList [<element>] : Object | provenance | |
| Test.java:22:9:22:15 | element : Object | Test.java:22:3:22:3 | l [post update] : ArrayList [<element>] : Object | provenance | MaD:18 |
| Test.java:25:34:25:42 | element : Object | Test.java:27:9:27:15 | element : Object | provenance | |
| Test.java:27:3:27:3 | m [post update] : HashMap [<map.key>] : Object | Test.java:28:10:28:10 | m : HashMap [<map.key>] : Object | provenance | |
| Test.java:27:9:27:15 | element : Object | Test.java:27:3:27:3 | m [post update] : HashMap [<map.key>] : Object | provenance | MaD:21 |
| Test.java:30:45:30:53 | element : Object | Test.java:32:10:32:16 | element : Object | provenance | |
| Test.java:32:3:32:4 | lc [post update] : LoadingCache [<map.key>] : Object | Test.java:33:10:33:11 | lc : LoadingCache [<map.key>] : Object | provenance | |
| Test.java:32:10:32:16 | element : Object | Test.java:32:3:32:4 | lc [post update] : LoadingCache [<map.key>] : Object | provenance | MaD:7 |
| Test.java:35:36:35:44 | element : Object | Test.java:37:15:37:21 | element : Object | provenance | |
| Test.java:37:3:37:3 | m [post update] : HashMap [<map.value>] : Object | Test.java:38:10:38:10 | m : HashMap [<map.value>] : Object | provenance | |
| Test.java:37:15:37:21 | element : Object | Test.java:37:3:37:3 | m [post update] : HashMap [<map.value>] : Object | provenance | MaD:22 |
| Test.java:40:47:40:55 | element : Object | Test.java:42:16:42:22 | element : Object | provenance | |
| Test.java:42:3:42:4 | lc [post update] : LoadingCache [<map.value>] : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:42:16:42:22 | element : Object | Test.java:42:3:42:4 | lc [post update] : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | Test.java:54:10:54:11 | in : LoadingCache [<map.key>] : Object | provenance | |
| Test.java:53:41:53:48 | source(...) : Object | Test.java:30:45:30:53 | element : Object | provenance | |
| Test.java:53:41:53:48 | source(...) : Object | Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | provenance | MaD:7 |
| Test.java:54:10:54:11 | in : LoadingCache [<map.key>] : Object | Test.java:54:10:54:19 | asMap(...) : ConcurrentMap [<map.key>] : Object | provenance | MaD:1 |
| Test.java:54:10:54:19 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:55:19:55:21 | out : ConcurrentMap [<map.key>] : Object | provenance | |
| Test.java:55:19:55:21 | out : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | provenance | |
| Test.java:55:19:55:21 | out : ConcurrentMap [<map.key>] : Object | Test.java:55:9:55:22 | getMapKey(...) | provenance | MaD:20 |
| Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | Test.java:61:10:61:11 | in : LoadingCache [<map.key>] : Object | provenance | |
| Test.java:60:34:60:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | provenance | |
| Test.java:60:34:60:41 | source(...) : Object | Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | provenance | MaD:7 |
| Test.java:61:10:61:11 | in : LoadingCache [<map.key>] : Object | Test.java:61:10:61:19 | asMap(...) : ConcurrentMap [<map.key>] : Object | provenance | MaD:1 |
| Test.java:61:10:61:19 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:62:19:62:21 | out : ConcurrentMap [<map.key>] : Object | provenance | |
| Test.java:62:19:62:21 | out : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | provenance | |
| Test.java:62:19:62:21 | out : ConcurrentMap [<map.key>] : Object | Test.java:62:9:62:22 | getMapKey(...) | provenance | MaD:20 |
| Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:68:10:68:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:67:43:67:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:67:43:67:50 | source(...) : Object | Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:68:10:68:11 | in : LoadingCache [<map.value>] : Object | Test.java:68:10:68:19 | asMap(...) : ConcurrentMap [<map.value>] : Object | provenance | MaD:2 |
| Test.java:68:10:68:19 | asMap(...) : ConcurrentMap [<map.value>] : Object | Test.java:69:21:69:23 | out : ConcurrentMap [<map.value>] : Object | provenance | |
| Test.java:69:21:69:23 | out : ConcurrentMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | provenance | |
| Test.java:69:21:69:23 | out : ConcurrentMap [<map.value>] : Object | Test.java:69:9:69:24 | getMapValue(...) | provenance | MaD:23 |
| Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:75:10:75:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:74:36:74:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:74:36:74:43 | source(...) : Object | Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:75:10:75:11 | in : LoadingCache [<map.value>] : Object | Test.java:75:10:75:19 | asMap(...) : ConcurrentMap [<map.value>] : Object | provenance | MaD:2 |
| Test.java:75:10:75:19 | asMap(...) : ConcurrentMap [<map.value>] : Object | Test.java:76:21:76:23 | out : ConcurrentMap [<map.value>] : Object | provenance | |
| Test.java:76:21:76:23 | out : ConcurrentMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | provenance | |
| Test.java:76:21:76:23 | out : ConcurrentMap [<map.value>] : Object | Test.java:76:9:76:24 | getMapValue(...) | provenance | MaD:23 |
| Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:82:10:82:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:81:36:81:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:81:36:81:43 | source(...) : Object | Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:82:10:82:11 | in : LoadingCache [<map.value>] : Object | Test.java:82:10:82:27 | get(...) : Object | provenance | MaD:3 |
| Test.java:82:10:82:27 | get(...) : Object | Test.java:83:9:83:11 | out | provenance | |
| Test.java:88:18:88:41 | newWithElement(...) : ArrayList [<element>] : Object | Test.java:90:33:90:34 | in : ArrayList [<element>] : Object | provenance | |
| Test.java:88:33:88:40 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | |
| Test.java:88:33:88:40 | source(...) : Object | Test.java:88:18:88:41 | newWithElement(...) : ArrayList [<element>] : Object | provenance | MaD:18 |
| Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | provenance | |
| Test.java:90:33:90:34 | in : ArrayList [<element>] : Object | Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:5 |
| Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | provenance | |
| Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | Test.java:91:9:91:22 | getMapKey(...) | provenance | MaD:20 |
| Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | Test.java:97:10:97:11 | in : LoadingCache [<map.key>] : Object | provenance | |
| Test.java:96:34:96:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | provenance | |
| Test.java:96:34:96:41 | source(...) : Object | Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | provenance | MaD:7 |
| Test.java:97:10:97:11 | in : LoadingCache [<map.key>] : Object | Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:4 |
| Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | provenance | |
| Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | provenance | |
| Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | Test.java:98:9:98:22 | getMapKey(...) | provenance | MaD:20 |
| Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:104:10:104:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:103:36:103:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:103:36:103:43 | source(...) : Object | Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:104:10:104:11 | in : LoadingCache [<map.value>] : Object | Test.java:104:10:104:30 | getIfPresent(...) : Object | provenance | MaD:6 |
| Test.java:104:10:104:30 | getIfPresent(...) : Object | Test.java:105:9:105:11 | out | provenance | |
| Test.java:110:16:110:23 | source(...) : Object | Test.java:111:12:111:13 | in : Object | provenance | |
| Test.java:111:4:111:6 | out [post update] : Cache [<map.key>] : Object | Test.java:112:19:112:21 | out : Cache [<map.key>] : Object | provenance | |
| Test.java:111:12:111:13 | in : Object | Test.java:111:4:111:6 | out [post update] : Cache [<map.key>] : Object | provenance | MaD:7 |
| Test.java:112:19:112:21 | out : Cache [<map.key>] : Object | Test.java:17:20:17:39 | container : Cache [<map.key>] : Object | provenance | |
| Test.java:112:19:112:21 | out : Cache [<map.key>] : Object | Test.java:112:9:112:22 | getMapKey(...) | provenance | MaD:1 |
| Test.java:117:16:117:23 | source(...) : Object | Test.java:118:18:118:19 | in : Object | provenance | |
| Test.java:118:4:118:6 | out [post update] : Cache [<map.value>] : Object | Test.java:119:21:119:23 | out : Cache [<map.value>] : Object | provenance | |
| Test.java:118:18:118:19 | in : Object | Test.java:118:4:118:6 | out [post update] : Cache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:119:21:119:23 | out : Cache [<map.value>] : Object | Test.java:19:22:19:41 | container : Cache [<map.value>] : Object | provenance | |
| Test.java:119:21:119:23 | out : Cache [<map.value>] : Object | Test.java:119:9:119:24 | getMapValue(...) | provenance | MaD:2 |
| Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [<map.key>] : Object | Test.java:125:15:125:16 | in : HashMap [<map.key>] : Object | provenance | |
| Test.java:124:30:124:37 | source(...) : Object | Test.java:25:34:25:42 | element : Object | provenance | |
| Test.java:124:30:124:37 | source(...) : Object | Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [<map.key>] : Object | provenance | MaD:21 |
| Test.java:125:4:125:6 | out [post update] : Cache [<map.key>] : Object | Test.java:126:19:126:21 | out : Cache [<map.key>] : Object | provenance | |
| Test.java:125:15:125:16 | in : HashMap [<map.key>] : Object | Test.java:125:4:125:6 | out [post update] : Cache [<map.key>] : Object | provenance | MaD:9 |
| Test.java:126:19:126:21 | out : Cache [<map.key>] : Object | Test.java:17:20:17:39 | container : Cache [<map.key>] : Object | provenance | |
| Test.java:126:19:126:21 | out : Cache [<map.key>] : Object | Test.java:126:9:126:22 | getMapKey(...) | provenance | MaD:1 |
| Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [<map.value>] : Object | Test.java:132:15:132:16 | in : HashMap [<map.value>] : Object | provenance | |
| Test.java:131:32:131:39 | source(...) : Object | Test.java:35:36:35:44 | element : Object | provenance | |
| Test.java:131:32:131:39 | source(...) : Object | Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [<map.value>] : Object | provenance | MaD:22 |
| Test.java:132:4:132:6 | out [post update] : Cache [<map.value>] : Object | Test.java:133:21:133:23 | out : Cache [<map.value>] : Object | provenance | |
| Test.java:132:15:132:16 | in : HashMap [<map.value>] : Object | Test.java:132:4:132:6 | out [post update] : Cache [<map.value>] : Object | provenance | MaD:10 |
| Test.java:133:21:133:23 | out : Cache [<map.value>] : Object | Test.java:19:22:19:41 | container : Cache [<map.value>] : Object | provenance | |
| Test.java:133:21:133:23 | out : Cache [<map.value>] : Object | Test.java:133:9:133:24 | getMapValue(...) | provenance | MaD:2 |
| Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:139:10:139:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:138:43:138:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:138:43:138:50 | source(...) : Object | Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:139:10:139:11 | in : LoadingCache [<map.value>] : Object | Test.java:139:10:139:23 | apply(...) : Object | provenance | MaD:11 |
| Test.java:139:10:139:23 | apply(...) : Object | Test.java:140:9:140:11 | out | provenance | |
| Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:146:10:146:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:145:43:145:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:145:43:145:50 | source(...) : Object | Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:146:10:146:11 | in : LoadingCache [<map.value>] : Object | Test.java:146:10:146:21 | get(...) : Object | provenance | MaD:12 |
| Test.java:146:10:146:21 | get(...) : Object | Test.java:147:9:147:11 | out | provenance | |
| Test.java:152:18:152:51 | (...)... : ArrayList [<element>] : Object | Test.java:153:15:153:16 | in : ArrayList [<element>] : Object | provenance | |
| Test.java:152:28:152:51 | newWithElement(...) : ArrayList [<element>] : Object | Test.java:152:18:152:51 | (...)... : ArrayList [<element>] : Object | provenance | |
| Test.java:152:43:152:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | |
| Test.java:152:43:152:50 | source(...) : Object | Test.java:152:28:152:51 | newWithElement(...) : ArrayList [<element>] : Object | provenance | MaD:18 |
| Test.java:153:4:153:6 | out [post update] : LoadingCache [<map.key>] : Object | Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | provenance | |
| Test.java:153:15:153:16 | in : ArrayList [<element>] : Object | Test.java:153:4:153:6 | out [post update] : LoadingCache [<map.key>] : Object | provenance | MaD:14 |
| Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | Test.java:17:20:17:39 | container : LoadingCache [<map.key>] : Object | provenance | |
| Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | Test.java:154:9:154:22 | getMapKey(...) | provenance | MaD:1 |
| Test.java:159:18:159:51 | (...)... : ArrayList [<element>] : Object | Test.java:161:26:161:27 | in : ArrayList [<element>] : Object | provenance | |
| Test.java:159:28:159:51 | newWithElement(...) : ArrayList [<element>] : Object | Test.java:159:18:159:51 | (...)... : ArrayList [<element>] : Object | provenance | |
| Test.java:159:43:159:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | |
| Test.java:159:43:159:50 | source(...) : Object | Test.java:159:28:159:51 | newWithElement(...) : ArrayList [<element>] : Object | provenance | MaD:18 |
| Test.java:161:10:161:28 | getAll(...) : ImmutableMap [<map.key>] : Object | Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | provenance | |
| Test.java:161:26:161:27 | in : ArrayList [<element>] : Object | Test.java:161:10:161:28 | getAll(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:15 |
| Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | provenance | |
| Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | Test.java:162:9:162:22 | getMapKey(...) | provenance | MaD:20 |
| Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:168:10:168:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:167:43:167:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:167:43:167:50 | source(...) : Object | Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:168:10:168:11 | in : LoadingCache [<map.value>] : Object | Test.java:168:10:168:24 | getAll(...) : ImmutableMap [<map.value>] : Object | provenance | MaD:13 |
| Test.java:168:10:168:24 | getAll(...) : ImmutableMap [<map.value>] : Object | Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | provenance | |
| Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ImmutableMap [<map.value>] : Object | provenance | |
| Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | Test.java:169:9:169:24 | getMapValue(...) | provenance | MaD:23 |
| Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:175:10:175:11 | in : LoadingCache [<map.value>] : Object | provenance | |
| Test.java:174:43:174:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
| Test.java:174:43:174:50 | source(...) : Object | Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
| Test.java:175:10:175:11 | in : LoadingCache [<map.value>] : Object | Test.java:175:10:175:30 | getUnchecked(...) : Object | provenance | MaD:16 |
| Test.java:175:10:175:30 | getUnchecked(...) : Object | Test.java:176:9:176:11 | out | provenance | |
nodes
| Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | semmle.label | container : ConcurrentMap [<map.key>] : Object |
| Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | semmle.label | container : ImmutableMap [<map.key>] : Object |
| Test.java:16:49:16:57 | container : ConcurrentMap [<map.key>] : Object | semmle.label | container : ConcurrentMap [<map.key>] : Object |
| Test.java:16:49:16:57 | container : ImmutableMap [<map.key>] : Object | semmle.label | container : ImmutableMap [<map.key>] : Object |
| Test.java:16:49:16:66 | keySet(...) : Set [<element>] : Object | semmle.label | keySet(...) : Set [<element>] : Object |
| Test.java:16:49:16:66 | keySet(...) : Set [<element>] : Object | semmle.label | keySet(...) : Set [<element>] : Object |
| Test.java:16:49:16:77 | iterator(...) : Iterator [<element>] : Object | semmle.label | iterator(...) : Iterator [<element>] : Object |
| Test.java:16:49:16:77 | iterator(...) : Iterator [<element>] : Object | semmle.label | iterator(...) : Iterator [<element>] : Object |
| Test.java:16:49:16:84 | next(...) : Object | semmle.label | next(...) : Object |
| Test.java:16:49:16:84 | next(...) : Object | semmle.label | next(...) : Object |
| Test.java:17:20:17:39 | container : Cache [<map.key>] : Object | semmle.label | container : Cache [<map.key>] : Object |
| Test.java:17:20:17:39 | container : LoadingCache [<map.key>] : Object | semmle.label | container : LoadingCache [<map.key>] : Object |
| Test.java:17:51:17:78 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object |
| Test.java:17:51:17:78 | getMapKey(...) : Object | semmle.label | getMapKey(...) : Object |
| Test.java:17:61:17:69 | container : Cache [<map.key>] : Object | semmle.label | container : Cache [<map.key>] : Object |
| Test.java:17:61:17:69 | container : LoadingCache [<map.key>] : Object | semmle.label | container : LoadingCache [<map.key>] : Object |
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | semmle.label | asMap(...) : ConcurrentMap [<map.key>] : Object |
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | semmle.label | asMap(...) : ConcurrentMap [<map.key>] : Object |
| Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | semmle.label | container : ConcurrentMap [<map.value>] : Object |
| Test.java:18:22:18:39 | container : ImmutableMap [<map.value>] : Object | semmle.label | container : ImmutableMap [<map.value>] : Object |
| Test.java:18:51:18:59 | container : ConcurrentMap [<map.value>] : Object | semmle.label | container : ConcurrentMap [<map.value>] : Object |
| Test.java:18:51:18:59 | container : ImmutableMap [<map.value>] : Object | semmle.label | container : ImmutableMap [<map.value>] : Object |
| Test.java:18:51:18:68 | values(...) : Collection [<element>] : Object | semmle.label | values(...) : Collection [<element>] : Object |
| Test.java:18:51:18:68 | values(...) : Collection [<element>] : Object | semmle.label | values(...) : Collection [<element>] : Object |
| Test.java:18:51:18:79 | iterator(...) : Iterator [<element>] : Object | semmle.label | iterator(...) : Iterator [<element>] : Object |
| Test.java:18:51:18:79 | iterator(...) : Iterator [<element>] : Object | semmle.label | iterator(...) : Iterator [<element>] : Object |
| Test.java:18:51:18:86 | next(...) : Object | semmle.label | next(...) : Object |
| Test.java:18:51:18:86 | next(...) : Object | semmle.label | next(...) : Object |
| Test.java:19:22:19:41 | container : Cache [<map.value>] : Object | semmle.label | container : Cache [<map.value>] : Object |
| Test.java:19:53:19:82 | getMapValue(...) : Object | semmle.label | getMapValue(...) : Object |
| Test.java:19:65:19:73 | container : Cache [<map.value>] : Object | semmle.label | container : Cache [<map.value>] : Object |
| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [<map.value>] : Object | semmle.label | asMap(...) : ConcurrentMap [<map.value>] : Object |
| Test.java:20:33:20:41 | element : Object | semmle.label | element : Object |
| Test.java:22:3:22:3 | l [post update] : ArrayList [<element>] : Object | semmle.label | l [post update] : ArrayList [<element>] : Object |
| Test.java:22:9:22:15 | element : Object | semmle.label | element : Object |
| Test.java:23:10:23:10 | l : ArrayList [<element>] : Object | semmle.label | l : ArrayList [<element>] : Object |
| Test.java:25:34:25:42 | element : Object | semmle.label | element : Object |
| Test.java:27:3:27:3 | m [post update] : HashMap [<map.key>] : Object | semmle.label | m [post update] : HashMap [<map.key>] : Object |
| Test.java:27:9:27:15 | element : Object | semmle.label | element : Object |
| Test.java:28:10:28:10 | m : HashMap [<map.key>] : Object | semmle.label | m : HashMap [<map.key>] : Object |
| Test.java:30:45:30:53 | element : Object | semmle.label | element : Object |
| Test.java:32:3:32:4 | lc [post update] : LoadingCache [<map.key>] : Object | semmle.label | lc [post update] : LoadingCache [<map.key>] : Object |
| Test.java:32:10:32:16 | element : Object | semmle.label | element : Object |
| Test.java:33:10:33:11 | lc : LoadingCache [<map.key>] : Object | semmle.label | lc : LoadingCache [<map.key>] : Object |
| Test.java:35:36:35:44 | element : Object | semmle.label | element : Object |
| Test.java:37:3:37:3 | m [post update] : HashMap [<map.value>] : Object | semmle.label | m [post update] : HashMap [<map.value>] : Object |
| Test.java:37:15:37:21 | element : Object | semmle.label | element : Object |
| Test.java:38:10:38:10 | m : HashMap [<map.value>] : Object | semmle.label | m : HashMap [<map.value>] : Object |
| Test.java:40:47:40:55 | element : Object | semmle.label | element : Object |
| Test.java:42:3:42:4 | lc [post update] : LoadingCache [<map.value>] : Object | semmle.label | lc [post update] : LoadingCache [<map.value>] : Object |
| Test.java:42:16:42:22 | element : Object | semmle.label | element : Object |
| Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | semmle.label | lc : LoadingCache [<map.value>] : Object |
| Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | semmle.label | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object |
| Test.java:53:41:53:48 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:54:10:54:11 | in : LoadingCache [<map.key>] : Object | semmle.label | in : LoadingCache [<map.key>] : Object |
| Test.java:54:10:54:19 | asMap(...) : ConcurrentMap [<map.key>] : Object | semmle.label | asMap(...) : ConcurrentMap [<map.key>] : Object |
| Test.java:55:9:55:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:55:19:55:21 | out : ConcurrentMap [<map.key>] : Object | semmle.label | out : ConcurrentMap [<map.key>] : Object |
| Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | semmle.label | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object |
| Test.java:60:34:60:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:61:10:61:11 | in : LoadingCache [<map.key>] : Object | semmle.label | in : LoadingCache [<map.key>] : Object |
| Test.java:61:10:61:19 | asMap(...) : ConcurrentMap [<map.key>] : Object | semmle.label | asMap(...) : ConcurrentMap [<map.key>] : Object |
| Test.java:62:9:62:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:62:19:62:21 | out : ConcurrentMap [<map.key>] : Object | semmle.label | out : ConcurrentMap [<map.key>] : Object |
| Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:67:43:67:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:68:10:68:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:68:10:68:19 | asMap(...) : ConcurrentMap [<map.value>] : Object | semmle.label | asMap(...) : ConcurrentMap [<map.value>] : Object |
| Test.java:69:9:69:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:69:21:69:23 | out : ConcurrentMap [<map.value>] : Object | semmle.label | out : ConcurrentMap [<map.value>] : Object |
| Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:74:36:74:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:75:10:75:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:75:10:75:19 | asMap(...) : ConcurrentMap [<map.value>] : Object | semmle.label | asMap(...) : ConcurrentMap [<map.value>] : Object |
| Test.java:76:9:76:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:76:21:76:23 | out : ConcurrentMap [<map.value>] : Object | semmle.label | out : ConcurrentMap [<map.value>] : Object |
| Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:81:36:81:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:82:10:82:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:82:10:82:27 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:83:9:83:11 | out | semmle.label | out |
| Test.java:88:18:88:41 | newWithElement(...) : ArrayList [<element>] : Object | semmle.label | newWithElement(...) : ArrayList [<element>] : Object |
| Test.java:88:33:88:40 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | semmle.label | getAllPresent(...) : ImmutableMap [<map.key>] : Object |
| Test.java:90:33:90:34 | in : ArrayList [<element>] : Object | semmle.label | in : ArrayList [<element>] : Object |
| Test.java:91:9:91:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | semmle.label | out : ImmutableMap [<map.key>] : Object |
| Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | semmle.label | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object |
| Test.java:96:34:96:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:97:10:97:11 | in : LoadingCache [<map.key>] : Object | semmle.label | in : LoadingCache [<map.key>] : Object |
| Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | semmle.label | getAllPresent(...) : ImmutableMap [<map.key>] : Object |
| Test.java:98:9:98:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | semmle.label | out : ImmutableMap [<map.key>] : Object |
| Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:103:36:103:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:104:10:104:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:104:10:104:30 | getIfPresent(...) : Object | semmle.label | getIfPresent(...) : Object |
| Test.java:105:9:105:11 | out | semmle.label | out |
| Test.java:110:16:110:23 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:111:4:111:6 | out [post update] : Cache [<map.key>] : Object | semmle.label | out [post update] : Cache [<map.key>] : Object |
| Test.java:111:12:111:13 | in : Object | semmle.label | in : Object |
| Test.java:112:9:112:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:112:19:112:21 | out : Cache [<map.key>] : Object | semmle.label | out : Cache [<map.key>] : Object |
| Test.java:117:16:117:23 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:118:4:118:6 | out [post update] : Cache [<map.value>] : Object | semmle.label | out [post update] : Cache [<map.value>] : Object |
| Test.java:118:18:118:19 | in : Object | semmle.label | in : Object |
| Test.java:119:9:119:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:119:21:119:23 | out : Cache [<map.value>] : Object | semmle.label | out : Cache [<map.value>] : Object |
| Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [<map.key>] : Object | semmle.label | newMapWithMapKey(...) : HashMap [<map.key>] : Object |
| Test.java:124:30:124:37 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:125:4:125:6 | out [post update] : Cache [<map.key>] : Object | semmle.label | out [post update] : Cache [<map.key>] : Object |
| Test.java:125:15:125:16 | in : HashMap [<map.key>] : Object | semmle.label | in : HashMap [<map.key>] : Object |
| Test.java:126:9:126:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:126:19:126:21 | out : Cache [<map.key>] : Object | semmle.label | out : Cache [<map.key>] : Object |
| Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [<map.value>] : Object | semmle.label | newMapWithMapValue(...) : HashMap [<map.value>] : Object |
| Test.java:131:32:131:39 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:132:4:132:6 | out [post update] : Cache [<map.value>] : Object | semmle.label | out [post update] : Cache [<map.value>] : Object |
| Test.java:132:15:132:16 | in : HashMap [<map.value>] : Object | semmle.label | in : HashMap [<map.value>] : Object |
| Test.java:133:9:133:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:133:21:133:23 | out : Cache [<map.value>] : Object | semmle.label | out : Cache [<map.value>] : Object |
| Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:138:43:138:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:139:10:139:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:139:10:139:23 | apply(...) : Object | semmle.label | apply(...) : Object |
| Test.java:140:9:140:11 | out | semmle.label | out |
| Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:145:43:145:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:146:10:146:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:146:10:146:21 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:147:9:147:11 | out | semmle.label | out |
| Test.java:152:18:152:51 | (...)... : ArrayList [<element>] : Object | semmle.label | (...)... : ArrayList [<element>] : Object |
| Test.java:152:28:152:51 | newWithElement(...) : ArrayList [<element>] : Object | semmle.label | newWithElement(...) : ArrayList [<element>] : Object |
| Test.java:152:43:152:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:153:4:153:6 | out [post update] : LoadingCache [<map.key>] : Object | semmle.label | out [post update] : LoadingCache [<map.key>] : Object |
| Test.java:153:15:153:16 | in : ArrayList [<element>] : Object | semmle.label | in : ArrayList [<element>] : Object |
| Test.java:154:9:154:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | semmle.label | out : LoadingCache [<map.key>] : Object |
| Test.java:159:18:159:51 | (...)... : ArrayList [<element>] : Object | semmle.label | (...)... : ArrayList [<element>] : Object |
| Test.java:159:28:159:51 | newWithElement(...) : ArrayList [<element>] : Object | semmle.label | newWithElement(...) : ArrayList [<element>] : Object |
| Test.java:159:43:159:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:161:10:161:28 | getAll(...) : ImmutableMap [<map.key>] : Object | semmle.label | getAll(...) : ImmutableMap [<map.key>] : Object |
| Test.java:161:26:161:27 | in : ArrayList [<element>] : Object | semmle.label | in : ArrayList [<element>] : Object |
| Test.java:162:9:162:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | semmle.label | out : ImmutableMap [<map.key>] : Object |
| Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:167:43:167:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:168:10:168:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:168:10:168:24 | getAll(...) : ImmutableMap [<map.value>] : Object | semmle.label | getAll(...) : ImmutableMap [<map.value>] : Object |
| Test.java:169:9:169:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | semmle.label | out : ImmutableMap [<map.value>] : Object |
| Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | semmle.label | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:174:43:174:50 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:175:10:175:11 | in : LoadingCache [<map.value>] : Object | semmle.label | in : LoadingCache [<map.value>] : Object |
| Test.java:175:10:175:30 | getUnchecked(...) : Object | semmle.label | getUnchecked(...) : Object |
| Test.java:176:9:176:11 | out | semmle.label | out |
subpaths
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:17:51:17:78 | getMapKey(...) : Object |
| Test.java:17:61:17:77 | asMap(...) : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:17:51:17:78 | getMapKey(...) : Object |
| Test.java:19:65:19:81 | asMap(...) : ConcurrentMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:19:53:19:82 | getMapValue(...) : Object |
| Test.java:53:41:53:48 | source(...) : Object | Test.java:30:45:30:53 | element : Object | Test.java:33:10:33:11 | lc : LoadingCache [<map.key>] : Object | Test.java:53:22:53:49 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object |
| Test.java:55:19:55:21 | out : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:55:9:55:22 | getMapKey(...) |
| Test.java:60:34:60:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | Test.java:33:10:33:11 | lc : LoadingCache [<map.key>] : Object | Test.java:60:15:60:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object |
| Test.java:62:19:62:21 | out : ConcurrentMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ConcurrentMap [<map.key>] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:62:9:62:22 | getMapKey(...) |
| Test.java:67:43:67:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:67:22:67:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:69:21:69:23 | out : ConcurrentMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:69:9:69:24 | getMapValue(...) |
| Test.java:74:36:74:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:74:15:74:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:76:21:76:23 | out : ConcurrentMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ConcurrentMap [<map.value>] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:76:9:76:24 | getMapValue(...) |
| Test.java:81:36:81:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:81:15:81:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:88:33:88:40 | source(...) : Object | Test.java:20:33:20:41 | element : Object | Test.java:23:10:23:10 | l : ArrayList [<element>] : Object | Test.java:88:18:88:41 | newWithElement(...) : ArrayList [<element>] : Object |
| Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:91:9:91:22 | getMapKey(...) |
| Test.java:96:34:96:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | Test.java:33:10:33:11 | lc : LoadingCache [<map.key>] : Object | Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object |
| Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:98:9:98:22 | getMapKey(...) |
| Test.java:103:36:103:43 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:103:15:103:44 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:112:19:112:21 | out : Cache [<map.key>] : Object | Test.java:17:20:17:39 | container : Cache [<map.key>] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | Test.java:112:9:112:22 | getMapKey(...) |
| Test.java:119:21:119:23 | out : Cache [<map.value>] : Object | Test.java:19:22:19:41 | container : Cache [<map.value>] : Object | Test.java:19:53:19:82 | getMapValue(...) : Object | Test.java:119:9:119:24 | getMapValue(...) |
| Test.java:124:30:124:37 | source(...) : Object | Test.java:25:34:25:42 | element : Object | Test.java:28:10:28:10 | m : HashMap [<map.key>] : Object | Test.java:124:13:124:38 | newMapWithMapKey(...) : HashMap [<map.key>] : Object |
| Test.java:126:19:126:21 | out : Cache [<map.key>] : Object | Test.java:17:20:17:39 | container : Cache [<map.key>] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | Test.java:126:9:126:22 | getMapKey(...) |
| Test.java:131:32:131:39 | source(...) : Object | Test.java:35:36:35:44 | element : Object | Test.java:38:10:38:10 | m : HashMap [<map.value>] : Object | Test.java:131:13:131:40 | newMapWithMapValue(...) : HashMap [<map.value>] : Object |
| Test.java:133:21:133:23 | out : Cache [<map.value>] : Object | Test.java:19:22:19:41 | container : Cache [<map.value>] : Object | Test.java:19:53:19:82 | getMapValue(...) : Object | Test.java:133:9:133:24 | getMapValue(...) |
| Test.java:138:43:138:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:138:22:138:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:145:43:145:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:145:22:145:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:152:43:152:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | Test.java:23:10:23:10 | l : ArrayList [<element>] : Object | Test.java:152:28:152:51 | newWithElement(...) : ArrayList [<element>] : Object |
| Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | Test.java:17:20:17:39 | container : LoadingCache [<map.key>] : Object | Test.java:17:51:17:78 | getMapKey(...) : Object | Test.java:154:9:154:22 | getMapKey(...) |
| Test.java:159:43:159:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | Test.java:23:10:23:10 | l : ArrayList [<element>] : Object | Test.java:159:28:159:51 | newWithElement(...) : ArrayList [<element>] : Object |
| Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | Test.java:16:49:16:84 | next(...) : Object | Test.java:162:9:162:22 | getMapKey(...) |
| Test.java:167:43:167:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
| Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ImmutableMap [<map.value>] : Object | Test.java:18:51:18:86 | next(...) : Object | Test.java:169:9:169:24 | getMapValue(...) |
| Test.java:174:43:174:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | Test.java:43:10:43:11 | lc : LoadingCache [<map.value>] : Object | Test.java:174:22:174:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,15 @@
models
| 1 | Summary: hudson.remoting; URLDeserializationHelper; true; wrapIfRequired; (URL); ; Argument[0]; ReturnValue; taint; ai-manual |
edges
| Test.java:21:13:21:26 | (...)... : URL | Test.java:22:50:22:51 | in : URL | provenance | |
| Test.java:21:19:21:26 | source(...) : Object | Test.java:21:13:21:26 | (...)... : URL | provenance | |
| Test.java:22:10:22:52 | wrapIfRequired(...) : URL | Test.java:23:9:23:11 | out | provenance | |
| Test.java:22:50:22:51 | in : URL | Test.java:22:10:22:52 | wrapIfRequired(...) : URL | provenance | MaD:1 |
nodes
| Test.java:21:13:21:26 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:21:19:21:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:22:10:22:52 | wrapIfRequired(...) : URL | semmle.label | wrapIfRequired(...) : URL |
| Test.java:22:50:22:51 | in : URL | semmle.label | in : URL |
| Test.java:23:9:23:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,340 @@
models
| 1 | Summary: com.fasterxml.jackson.core; JsonFactory; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual |
| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; convertValue; ; ; Argument[0]; ReturnValue; taint; manual |
| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual |
| 4 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0]; ReturnValue; taint; manual |
| 5 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue; ReturnValue; taint; manual |
| 6 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual |
| 7 | Summary: com.fasterxml.jackson.databind; ObjectReader; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual |
| 8 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual |
edges
| Test.java:20:25:20:38 | element : Object | Test.java:21:23:21:29 | element : Object | provenance | |
| Test.java:21:23:21:29 | element : Object | Test.java:21:10:21:30 | of(...) : Map [<map.value>] : Object | provenance | MaD:8 |
| Test.java:35:16:35:32 | (...)... : char[] | Test.java:37:32:37:33 | in : char[] | provenance | |
| Test.java:35:25:35:32 | source(...) : Object | Test.java:35:16:35:32 | (...)... : char[] | provenance | |
| Test.java:37:10:37:40 | createParser(...) : JsonParser | Test.java:38:9:38:11 | out | provenance | |
| Test.java:37:32:37:33 | in : char[] | Test.java:37:10:37:40 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:43:16:43:32 | (...)... : char[] | Test.java:45:32:45:33 | in : char[] | provenance | |
| Test.java:43:25:43:32 | source(...) : Object | Test.java:43:16:43:32 | (...)... : char[] | provenance | |
| Test.java:45:10:45:34 | createParser(...) : JsonParser | Test.java:46:9:46:11 | out | provenance | |
| Test.java:45:32:45:33 | in : char[] | Test.java:45:10:45:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:51:16:51:32 | (...)... : byte[] | Test.java:53:32:53:33 | in : byte[] | provenance | |
| Test.java:51:25:51:32 | source(...) : Object | Test.java:51:16:51:32 | (...)... : byte[] | provenance | |
| Test.java:53:10:53:40 | createParser(...) : JsonParser | Test.java:54:9:54:11 | out | provenance | |
| Test.java:53:32:53:33 | in : byte[] | Test.java:53:10:53:40 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:59:16:59:32 | (...)... : byte[] | Test.java:61:32:61:33 | in : byte[] | provenance | |
| Test.java:59:25:59:32 | source(...) : Object | Test.java:59:16:59:32 | (...)... : byte[] | provenance | |
| Test.java:61:10:61:34 | createParser(...) : JsonParser | Test.java:62:9:62:11 | out | provenance | |
| Test.java:61:32:61:33 | in : byte[] | Test.java:61:10:61:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:67:13:67:26 | (...)... : URL | Test.java:69:32:69:33 | in : URL | provenance | |
| Test.java:67:19:67:26 | source(...) : Object | Test.java:67:13:67:26 | (...)... : URL | provenance | |
| Test.java:69:10:69:34 | createParser(...) : JsonParser | Test.java:70:9:70:11 | out | provenance | |
| Test.java:69:32:69:33 | in : URL | Test.java:69:10:69:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:75:16:75:32 | (...)... : String | Test.java:77:32:77:33 | in : String | provenance | |
| Test.java:75:25:75:32 | source(...) : Object | Test.java:75:16:75:32 | (...)... : String | provenance | |
| Test.java:77:10:77:34 | createParser(...) : JsonParser | Test.java:78:9:78:11 | out | provenance | |
| Test.java:77:32:77:33 | in : String | Test.java:77:10:77:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:83:16:83:32 | (...)... : Reader | Test.java:85:32:85:33 | in : Reader | provenance | |
| Test.java:83:25:83:32 | source(...) : Object | Test.java:83:16:83:32 | (...)... : Reader | provenance | |
| Test.java:85:10:85:34 | createParser(...) : JsonParser | Test.java:86:9:86:11 | out | provenance | |
| Test.java:85:32:85:33 | in : Reader | Test.java:85:10:85:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:91:21:91:42 | (...)... : InputStream | Test.java:93:32:93:33 | in : InputStream | provenance | |
| Test.java:91:35:91:42 | source(...) : Object | Test.java:91:21:91:42 | (...)... : InputStream | provenance | |
| Test.java:93:10:93:34 | createParser(...) : JsonParser | Test.java:94:9:94:11 | out | provenance | |
| Test.java:93:32:93:33 | in : InputStream | Test.java:93:10:93:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:99:14:99:28 | (...)... : File | Test.java:101:32:101:33 | in : File | provenance | |
| Test.java:99:21:99:28 | source(...) : Object | Test.java:99:14:99:28 | (...)... : File | provenance | |
| Test.java:101:10:101:34 | createParser(...) : JsonParser | Test.java:102:9:102:11 | out | provenance | |
| Test.java:101:32:101:33 | in : File | Test.java:101:10:101:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:107:19:107:38 | (...)... : DataInput | Test.java:109:32:109:33 | in : DataInput | provenance | |
| Test.java:107:31:107:38 | source(...) : Object | Test.java:107:19:107:38 | (...)... : DataInput | provenance | |
| Test.java:109:10:109:34 | createParser(...) : JsonParser | Test.java:110:9:110:11 | out | provenance | |
| Test.java:109:32:109:33 | in : DataInput | Test.java:109:10:109:34 | createParser(...) : JsonParser | provenance | MaD:1 |
| Test.java:115:16:115:32 | (...)... : char[] | Test.java:117:32:117:33 | in : char[] | provenance | |
| Test.java:115:25:115:32 | source(...) : Object | Test.java:115:16:115:32 | (...)... : char[] | provenance | |
| Test.java:117:10:117:40 | createParser(...) : JsonParser | Test.java:118:9:118:11 | out | provenance | |
| Test.java:117:32:117:33 | in : char[] | Test.java:117:10:117:40 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:123:16:123:32 | (...)... : char[] | Test.java:125:32:125:33 | in : char[] | provenance | |
| Test.java:123:25:123:32 | source(...) : Object | Test.java:123:16:123:32 | (...)... : char[] | provenance | |
| Test.java:125:10:125:34 | createParser(...) : JsonParser | Test.java:126:9:126:11 | out | provenance | |
| Test.java:125:32:125:33 | in : char[] | Test.java:125:10:125:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:131:16:131:32 | (...)... : byte[] | Test.java:133:32:133:33 | in : byte[] | provenance | |
| Test.java:131:25:131:32 | source(...) : Object | Test.java:131:16:131:32 | (...)... : byte[] | provenance | |
| Test.java:133:10:133:40 | createParser(...) : JsonParser | Test.java:134:9:134:11 | out | provenance | |
| Test.java:133:32:133:33 | in : byte[] | Test.java:133:10:133:40 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:139:16:139:32 | (...)... : byte[] | Test.java:141:32:141:33 | in : byte[] | provenance | |
| Test.java:139:25:139:32 | source(...) : Object | Test.java:139:16:139:32 | (...)... : byte[] | provenance | |
| Test.java:141:10:141:34 | createParser(...) : JsonParser | Test.java:142:9:142:11 | out | provenance | |
| Test.java:141:32:141:33 | in : byte[] | Test.java:141:10:141:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:147:13:147:26 | (...)... : URL | Test.java:149:32:149:33 | in : URL | provenance | |
| Test.java:147:19:147:26 | source(...) : Object | Test.java:147:13:147:26 | (...)... : URL | provenance | |
| Test.java:149:10:149:34 | createParser(...) : JsonParser | Test.java:150:9:150:11 | out | provenance | |
| Test.java:149:32:149:33 | in : URL | Test.java:149:10:149:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:155:16:155:32 | (...)... : String | Test.java:157:32:157:33 | in : String | provenance | |
| Test.java:155:25:155:32 | source(...) : Object | Test.java:155:16:155:32 | (...)... : String | provenance | |
| Test.java:157:10:157:34 | createParser(...) : JsonParser | Test.java:158:9:158:11 | out | provenance | |
| Test.java:157:32:157:33 | in : String | Test.java:157:10:157:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:163:16:163:32 | (...)... : Reader | Test.java:165:32:165:33 | in : Reader | provenance | |
| Test.java:163:25:163:32 | source(...) : Object | Test.java:163:16:163:32 | (...)... : Reader | provenance | |
| Test.java:165:10:165:34 | createParser(...) : JsonParser | Test.java:166:9:166:11 | out | provenance | |
| Test.java:165:32:165:33 | in : Reader | Test.java:165:10:165:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:171:21:171:42 | (...)... : InputStream | Test.java:173:32:173:33 | in : InputStream | provenance | |
| Test.java:171:35:171:42 | source(...) : Object | Test.java:171:21:171:42 | (...)... : InputStream | provenance | |
| Test.java:173:10:173:34 | createParser(...) : JsonParser | Test.java:174:9:174:11 | out | provenance | |
| Test.java:173:32:173:33 | in : InputStream | Test.java:173:10:173:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:179:14:179:28 | (...)... : File | Test.java:181:32:181:33 | in : File | provenance | |
| Test.java:179:21:179:28 | source(...) : Object | Test.java:179:14:179:28 | (...)... : File | provenance | |
| Test.java:181:10:181:34 | createParser(...) : JsonParser | Test.java:182:9:182:11 | out | provenance | |
| Test.java:181:32:181:33 | in : File | Test.java:181:10:181:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:187:19:187:38 | (...)... : DataInput | Test.java:189:32:189:33 | in : DataInput | provenance | |
| Test.java:187:31:187:38 | source(...) : Object | Test.java:187:19:187:38 | (...)... : DataInput | provenance | |
| Test.java:189:10:189:34 | createParser(...) : JsonParser | Test.java:190:9:190:11 | out | provenance | |
| Test.java:189:32:189:33 | in : DataInput | Test.java:189:10:189:34 | createParser(...) : JsonParser | provenance | MaD:3 |
| Test.java:195:16:195:32 | (...)... : Object | Test.java:197:32:197:33 | in : Object | provenance | |
| Test.java:195:25:195:32 | source(...) : Object | Test.java:195:16:195:32 | (...)... : Object | provenance | |
| Test.java:197:10:197:56 | convertValue(...) : Object | Test.java:198:9:198:11 | out | provenance | |
| Test.java:197:32:197:33 | in : Object | Test.java:197:10:197:56 | convertValue(...) : Object | provenance | MaD:2 |
| Test.java:203:16:203:32 | (...)... : Object | Test.java:205:32:205:33 | in : Object | provenance | |
| Test.java:203:25:203:32 | source(...) : Object | Test.java:203:16:203:32 | (...)... : Object | provenance | |
| Test.java:205:10:205:51 | convertValue(...) : Object | Test.java:206:9:206:11 | out | provenance | |
| Test.java:205:32:205:33 | in : Object | Test.java:205:10:205:51 | convertValue(...) : Object | provenance | MaD:2 |
| Test.java:211:16:211:32 | (...)... : Object | Test.java:213:32:213:33 | in : Object | provenance | |
| Test.java:211:25:211:32 | source(...) : Object | Test.java:211:16:211:32 | (...)... : Object | provenance | |
| Test.java:213:10:213:48 | convertValue(...) : Object | Test.java:214:9:214:11 | out | provenance | |
| Test.java:213:32:213:33 | in : Object | Test.java:213:10:213:48 | convertValue(...) : Object | provenance | MaD:2 |
| Test.java:219:16:219:32 | (...)... : Object | Test.java:221:31:221:32 | in : Object | provenance | |
| Test.java:219:25:219:32 | source(...) : Object | Test.java:219:16:219:32 | (...)... : Object | provenance | |
| Test.java:221:10:221:33 | valueToTree(...) : JsonNode | Test.java:222:9:222:11 | out | provenance | |
| Test.java:221:31:221:32 | in : Object | Test.java:221:10:221:33 | valueToTree(...) : JsonNode | provenance | MaD:4 |
| Test.java:221:31:221:32 | in : Object | Test.java:221:10:221:33 | valueToTree(...) : JsonNode | provenance | MaD:5 |
| Test.java:221:31:221:32 | in : Object | Test.java:221:10:221:33 | valueToTree(...) : JsonNode | provenance | MaD:6 |
| Test.java:228:16:228:49 | (...)... : Map [<map.value>] : Object | Test.java:230:31:230:32 | in : Map [<map.value>] : Object | provenance | |
| Test.java:228:25:228:49 | newWithMapValue(...) : Map [<map.value>] : Object | Test.java:228:16:228:49 | (...)... : Map [<map.value>] : Object | provenance | |
| Test.java:228:41:228:48 | source(...) : Object | Test.java:20:25:20:38 | element : Object | provenance | |
| Test.java:228:41:228:48 | source(...) : Object | Test.java:228:25:228:49 | newWithMapValue(...) : Map [<map.value>] : Object | provenance | MaD:8 |
| Test.java:230:10:230:33 | valueToTree(...) : JsonNode | Test.java:231:9:231:11 | out | provenance | |
| Test.java:230:31:230:32 | in : Map [<map.value>] : Object | Test.java:230:10:230:33 | valueToTree(...) : JsonNode | provenance | MaD:5 |
| Test.java:230:31:230:32 | in : Map [<map.value>] : Object | Test.java:230:10:230:33 | valueToTree(...) : JsonNode | provenance | MaD:6 |
| Test.java:236:16:236:32 | (...)... : char[] | Test.java:238:32:238:33 | in : char[] | provenance | |
| Test.java:236:25:236:32 | source(...) : Object | Test.java:236:16:236:32 | (...)... : char[] | provenance | |
| Test.java:238:10:238:40 | createParser(...) : JsonParser | Test.java:239:9:239:11 | out | provenance | |
| Test.java:238:32:238:33 | in : char[] | Test.java:238:10:238:40 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:244:16:244:32 | (...)... : char[] | Test.java:246:32:246:33 | in : char[] | provenance | |
| Test.java:244:25:244:32 | source(...) : Object | Test.java:244:16:244:32 | (...)... : char[] | provenance | |
| Test.java:246:10:246:34 | createParser(...) : JsonParser | Test.java:247:9:247:11 | out | provenance | |
| Test.java:246:32:246:33 | in : char[] | Test.java:246:10:246:34 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:252:16:252:32 | (...)... : byte[] | Test.java:254:32:254:33 | in : byte[] | provenance | |
| Test.java:252:25:252:32 | source(...) : Object | Test.java:252:16:252:32 | (...)... : byte[] | provenance | |
| Test.java:254:10:254:40 | createParser(...) : JsonParser | Test.java:255:9:255:11 | out | provenance | |
| Test.java:254:32:254:33 | in : byte[] | Test.java:254:10:254:40 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:260:16:260:32 | (...)... : byte[] | Test.java:262:32:262:33 | in : byte[] | provenance | |
| Test.java:260:25:260:32 | source(...) : Object | Test.java:260:16:260:32 | (...)... : byte[] | provenance | |
| Test.java:262:10:262:34 | createParser(...) : JsonParser | Test.java:263:9:263:11 | out | provenance | |
| Test.java:262:32:262:33 | in : byte[] | Test.java:262:10:262:34 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:268:13:268:26 | (...)... : URL | Test.java:270:32:270:33 | in : URL | provenance | |
| Test.java:268:19:268:26 | source(...) : Object | Test.java:268:13:268:26 | (...)... : URL | provenance | |
| Test.java:270:10:270:34 | createParser(...) : JsonParser | Test.java:271:9:271:11 | out | provenance | |
| Test.java:270:32:270:33 | in : URL | Test.java:270:10:270:34 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:276:16:276:32 | (...)... : String | Test.java:278:32:278:33 | in : String | provenance | |
| Test.java:276:25:276:32 | source(...) : Object | Test.java:276:16:276:32 | (...)... : String | provenance | |
| Test.java:278:10:278:34 | createParser(...) : JsonParser | Test.java:279:9:279:11 | out | provenance | |
| Test.java:278:32:278:33 | in : String | Test.java:278:10:278:34 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:284:16:284:32 | (...)... : Reader | Test.java:286:32:286:33 | in : Reader | provenance | |
| Test.java:284:25:284:32 | source(...) : Object | Test.java:284:16:284:32 | (...)... : Reader | provenance | |
| Test.java:286:10:286:34 | createParser(...) : JsonParser | Test.java:287:9:287:11 | out | provenance | |
| Test.java:286:32:286:33 | in : Reader | Test.java:286:10:286:34 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:292:21:292:42 | (...)... : InputStream | Test.java:294:32:294:33 | in : InputStream | provenance | |
| Test.java:292:35:292:42 | source(...) : Object | Test.java:292:21:292:42 | (...)... : InputStream | provenance | |
| Test.java:294:10:294:34 | createParser(...) : JsonParser | Test.java:295:9:295:11 | out | provenance | |
| Test.java:294:32:294:33 | in : InputStream | Test.java:294:10:294:34 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:300:14:300:28 | (...)... : File | Test.java:302:32:302:33 | in : File | provenance | |
| Test.java:300:21:300:28 | source(...) : Object | Test.java:300:14:300:28 | (...)... : File | provenance | |
| Test.java:302:10:302:34 | createParser(...) : JsonParser | Test.java:303:9:303:11 | out | provenance | |
| Test.java:302:32:302:33 | in : File | Test.java:302:10:302:34 | createParser(...) : JsonParser | provenance | MaD:7 |
| Test.java:308:19:308:38 | (...)... : DataInput | Test.java:310:32:310:33 | in : DataInput | provenance | |
| Test.java:308:31:308:38 | source(...) : Object | Test.java:308:19:308:38 | (...)... : DataInput | provenance | |
| Test.java:310:10:310:34 | createParser(...) : JsonParser | Test.java:311:9:311:11 | out | provenance | |
| Test.java:310:32:310:33 | in : DataInput | Test.java:310:10:310:34 | createParser(...) : JsonParser | provenance | MaD:7 |
nodes
| Test.java:20:25:20:38 | element : Object | semmle.label | element : Object |
| Test.java:21:10:21:30 | of(...) : Map [<map.value>] : Object | semmle.label | of(...) : Map [<map.value>] : Object |
| Test.java:21:23:21:29 | element : Object | semmle.label | element : Object |
| Test.java:35:16:35:32 | (...)... : char[] | semmle.label | (...)... : char[] |
| Test.java:35:25:35:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:37:10:37:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:37:32:37:33 | in : char[] | semmle.label | in : char[] |
| Test.java:38:9:38:11 | out | semmle.label | out |
| Test.java:43:16:43:32 | (...)... : char[] | semmle.label | (...)... : char[] |
| Test.java:43:25:43:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:45:10:45:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:45:32:45:33 | in : char[] | semmle.label | in : char[] |
| Test.java:46:9:46:11 | out | semmle.label | out |
| Test.java:51:16:51:32 | (...)... : byte[] | semmle.label | (...)... : byte[] |
| Test.java:51:25:51:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:53:10:53:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:53:32:53:33 | in : byte[] | semmle.label | in : byte[] |
| Test.java:54:9:54:11 | out | semmle.label | out |
| Test.java:59:16:59:32 | (...)... : byte[] | semmle.label | (...)... : byte[] |
| Test.java:59:25:59:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:61:10:61:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:61:32:61:33 | in : byte[] | semmle.label | in : byte[] |
| Test.java:62:9:62:11 | out | semmle.label | out |
| Test.java:67:13:67:26 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:67:19:67:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:69:10:69:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:69:32:69:33 | in : URL | semmle.label | in : URL |
| Test.java:70:9:70:11 | out | semmle.label | out |
| Test.java:75:16:75:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:75:25:75:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:77:10:77:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:77:32:77:33 | in : String | semmle.label | in : String |
| Test.java:78:9:78:11 | out | semmle.label | out |
| Test.java:83:16:83:32 | (...)... : Reader | semmle.label | (...)... : Reader |
| Test.java:83:25:83:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:85:10:85:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:85:32:85:33 | in : Reader | semmle.label | in : Reader |
| Test.java:86:9:86:11 | out | semmle.label | out |
| Test.java:91:21:91:42 | (...)... : InputStream | semmle.label | (...)... : InputStream |
| Test.java:91:35:91:42 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:93:10:93:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:93:32:93:33 | in : InputStream | semmle.label | in : InputStream |
| Test.java:94:9:94:11 | out | semmle.label | out |
| Test.java:99:14:99:28 | (...)... : File | semmle.label | (...)... : File |
| Test.java:99:21:99:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:101:10:101:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:101:32:101:33 | in : File | semmle.label | in : File |
| Test.java:102:9:102:11 | out | semmle.label | out |
| Test.java:107:19:107:38 | (...)... : DataInput | semmle.label | (...)... : DataInput |
| Test.java:107:31:107:38 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:109:10:109:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:109:32:109:33 | in : DataInput | semmle.label | in : DataInput |
| Test.java:110:9:110:11 | out | semmle.label | out |
| Test.java:115:16:115:32 | (...)... : char[] | semmle.label | (...)... : char[] |
| Test.java:115:25:115:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:117:10:117:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:117:32:117:33 | in : char[] | semmle.label | in : char[] |
| Test.java:118:9:118:11 | out | semmle.label | out |
| Test.java:123:16:123:32 | (...)... : char[] | semmle.label | (...)... : char[] |
| Test.java:123:25:123:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:125:10:125:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:125:32:125:33 | in : char[] | semmle.label | in : char[] |
| Test.java:126:9:126:11 | out | semmle.label | out |
| Test.java:131:16:131:32 | (...)... : byte[] | semmle.label | (...)... : byte[] |
| Test.java:131:25:131:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:133:10:133:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:133:32:133:33 | in : byte[] | semmle.label | in : byte[] |
| Test.java:134:9:134:11 | out | semmle.label | out |
| Test.java:139:16:139:32 | (...)... : byte[] | semmle.label | (...)... : byte[] |
| Test.java:139:25:139:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:141:10:141:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:141:32:141:33 | in : byte[] | semmle.label | in : byte[] |
| Test.java:142:9:142:11 | out | semmle.label | out |
| Test.java:147:13:147:26 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:147:19:147:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:149:10:149:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:149:32:149:33 | in : URL | semmle.label | in : URL |
| Test.java:150:9:150:11 | out | semmle.label | out |
| Test.java:155:16:155:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:155:25:155:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:157:10:157:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:157:32:157:33 | in : String | semmle.label | in : String |
| Test.java:158:9:158:11 | out | semmle.label | out |
| Test.java:163:16:163:32 | (...)... : Reader | semmle.label | (...)... : Reader |
| Test.java:163:25:163:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:165:10:165:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:165:32:165:33 | in : Reader | semmle.label | in : Reader |
| Test.java:166:9:166:11 | out | semmle.label | out |
| Test.java:171:21:171:42 | (...)... : InputStream | semmle.label | (...)... : InputStream |
| Test.java:171:35:171:42 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:173:10:173:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:173:32:173:33 | in : InputStream | semmle.label | in : InputStream |
| Test.java:174:9:174:11 | out | semmle.label | out |
| Test.java:179:14:179:28 | (...)... : File | semmle.label | (...)... : File |
| Test.java:179:21:179:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:181:10:181:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:181:32:181:33 | in : File | semmle.label | in : File |
| Test.java:182:9:182:11 | out | semmle.label | out |
| Test.java:187:19:187:38 | (...)... : DataInput | semmle.label | (...)... : DataInput |
| Test.java:187:31:187:38 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:189:10:189:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:189:32:189:33 | in : DataInput | semmle.label | in : DataInput |
| Test.java:190:9:190:11 | out | semmle.label | out |
| Test.java:195:16:195:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:195:25:195:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:197:10:197:56 | convertValue(...) : Object | semmle.label | convertValue(...) : Object |
| Test.java:197:32:197:33 | in : Object | semmle.label | in : Object |
| Test.java:198:9:198:11 | out | semmle.label | out |
| Test.java:203:16:203:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:203:25:203:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:205:10:205:51 | convertValue(...) : Object | semmle.label | convertValue(...) : Object |
| Test.java:205:32:205:33 | in : Object | semmle.label | in : Object |
| Test.java:206:9:206:11 | out | semmle.label | out |
| Test.java:211:16:211:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:211:25:211:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:213:10:213:48 | convertValue(...) : Object | semmle.label | convertValue(...) : Object |
| Test.java:213:32:213:33 | in : Object | semmle.label | in : Object |
| Test.java:214:9:214:11 | out | semmle.label | out |
| Test.java:219:16:219:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:219:25:219:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:221:10:221:33 | valueToTree(...) : JsonNode | semmle.label | valueToTree(...) : JsonNode |
| Test.java:221:31:221:32 | in : Object | semmle.label | in : Object |
| Test.java:222:9:222:11 | out | semmle.label | out |
| Test.java:228:16:228:49 | (...)... : Map [<map.value>] : Object | semmle.label | (...)... : Map [<map.value>] : Object |
| Test.java:228:25:228:49 | newWithMapValue(...) : Map [<map.value>] : Object | semmle.label | newWithMapValue(...) : Map [<map.value>] : Object |
| Test.java:228:41:228:48 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:230:10:230:33 | valueToTree(...) : JsonNode | semmle.label | valueToTree(...) : JsonNode |
| Test.java:230:31:230:32 | in : Map [<map.value>] : Object | semmle.label | in : Map [<map.value>] : Object |
| Test.java:231:9:231:11 | out | semmle.label | out |
| Test.java:236:16:236:32 | (...)... : char[] | semmle.label | (...)... : char[] |
| Test.java:236:25:236:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:238:10:238:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:238:32:238:33 | in : char[] | semmle.label | in : char[] |
| Test.java:239:9:239:11 | out | semmle.label | out |
| Test.java:244:16:244:32 | (...)... : char[] | semmle.label | (...)... : char[] |
| Test.java:244:25:244:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:246:10:246:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:246:32:246:33 | in : char[] | semmle.label | in : char[] |
| Test.java:247:9:247:11 | out | semmle.label | out |
| Test.java:252:16:252:32 | (...)... : byte[] | semmle.label | (...)... : byte[] |
| Test.java:252:25:252:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:254:10:254:40 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:254:32:254:33 | in : byte[] | semmle.label | in : byte[] |
| Test.java:255:9:255:11 | out | semmle.label | out |
| Test.java:260:16:260:32 | (...)... : byte[] | semmle.label | (...)... : byte[] |
| Test.java:260:25:260:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:262:10:262:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:262:32:262:33 | in : byte[] | semmle.label | in : byte[] |
| Test.java:263:9:263:11 | out | semmle.label | out |
| Test.java:268:13:268:26 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:268:19:268:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:270:10:270:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:270:32:270:33 | in : URL | semmle.label | in : URL |
| Test.java:271:9:271:11 | out | semmle.label | out |
| Test.java:276:16:276:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:276:25:276:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:278:10:278:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:278:32:278:33 | in : String | semmle.label | in : String |
| Test.java:279:9:279:11 | out | semmle.label | out |
| Test.java:284:16:284:32 | (...)... : Reader | semmle.label | (...)... : Reader |
| Test.java:284:25:284:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:286:10:286:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:286:32:286:33 | in : Reader | semmle.label | in : Reader |
| Test.java:287:9:287:11 | out | semmle.label | out |
| Test.java:292:21:292:42 | (...)... : InputStream | semmle.label | (...)... : InputStream |
| Test.java:292:35:292:42 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:294:10:294:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:294:32:294:33 | in : InputStream | semmle.label | in : InputStream |
| Test.java:295:9:295:11 | out | semmle.label | out |
| Test.java:300:14:300:28 | (...)... : File | semmle.label | (...)... : File |
| Test.java:300:21:300:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:302:10:302:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:302:32:302:33 | in : File | semmle.label | in : File |
| Test.java:303:9:303:11 | out | semmle.label | out |
| Test.java:308:19:308:38 | (...)... : DataInput | semmle.label | (...)... : DataInput |
| Test.java:308:31:308:38 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:310:10:310:34 | createParser(...) : JsonParser | semmle.label | createParser(...) : JsonParser |
| Test.java:310:32:310:33 | in : DataInput | semmle.label | in : DataInput |
| Test.java:311:9:311:11 | out | semmle.label | out |
subpaths
| Test.java:228:41:228:48 | source(...) : Object | Test.java:20:25:20:38 | element : Object | Test.java:21:10:21:30 | of(...) : Map [<map.value>] : Object | Test.java:228:25:228:49 | newWithMapValue(...) : Map [<map.value>] : Object |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,206 @@
models
| 1 | Summary: java.net; InetAddress; true; getByName; (String); ; Argument[0]; ReturnValue; taint; ai-manual |
| 2 | Summary: java.net; InetSocketAddress; true; createUnresolved; (String,int); ; Argument[0]; ReturnValue; taint; ai-manual |
| 3 | Summary: java.net; InetSocketAddress; true; InetSocketAddress; (String,int); ; Argument[0]; Argument[this]; taint; ai-manual |
| 4 | Summary: java.net; URI; false; URI; (String); ; Argument[0]; Argument[this]; taint; manual |
| 5 | Summary: java.net; URI; false; create; ; ; Argument[0]; ReturnValue; taint; manual |
| 6 | Summary: java.net; URI; false; resolve; (String); ; Argument[0]; ReturnValue; taint; ai-manual |
| 7 | Summary: java.net; URI; false; resolve; (URI); ; Argument[0]; ReturnValue; taint; ai-manual |
| 8 | Summary: java.net; URI; false; toASCIIString; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: java.net; URI; false; toString; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: java.net; URI; false; toURL; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: java.net; URL; false; getPath; (); ; Argument[this].SyntheticField[java.net.URL.path]; ReturnValue; taint; ai-manual |
| 12 | Summary: java.net; URL; false; URL; (String); ; Argument[0]; Argument[this]; taint; manual |
| 13 | Summary: java.net; URL; false; URL; (URL,String); ; Argument[0]; Argument[this]; taint; ai-manual |
| 14 | Summary: java.net; URL; false; URL; (URL,String); ; Argument[1]; Argument[this]; taint; ai-manual |
| 15 | Summary: java.net; URL; false; toExternalForm; ; ; Argument[this]; ReturnValue; taint; manual |
| 16 | Summary: java.net; URL; false; toURI; ; ; Argument[this]; ReturnValue; taint; manual |
| 17 | Summary: java.net; URLDecoder; false; decode; ; ; Argument[0]; ReturnValue; taint; manual |
edges
| Test.java:24:16:24:32 | (...)... : String | Test.java:25:32:25:33 | in : String | provenance | |
| Test.java:24:25:24:32 | source(...) : Object | Test.java:24:16:24:32 | (...)... : String | provenance | |
| Test.java:25:10:25:34 | getByName(...) : InetAddress | Test.java:26:9:26:11 | out | provenance | |
| Test.java:25:32:25:33 | in : String | Test.java:25:10:25:34 | getByName(...) : InetAddress | provenance | MaD:1 |
| Test.java:31:16:31:32 | (...)... : String | Test.java:32:32:32:33 | in : String | provenance | |
| Test.java:31:25:31:32 | source(...) : Object | Test.java:31:16:31:32 | (...)... : String | provenance | |
| Test.java:32:10:32:37 | new InetSocketAddress(...) : InetSocketAddress | Test.java:33:9:33:11 | out | provenance | |
| Test.java:32:32:32:33 | in : String | Test.java:32:10:32:37 | new InetSocketAddress(...) : InetSocketAddress | provenance | MaD:3 |
| Test.java:38:16:38:32 | (...)... : String | Test.java:39:45:39:46 | in : String | provenance | |
| Test.java:38:25:38:32 | source(...) : Object | Test.java:38:16:38:32 | (...)... : String | provenance | |
| Test.java:39:10:39:50 | createUnresolved(...) : InetSocketAddress | Test.java:40:9:40:11 | out | provenance | |
| Test.java:39:45:39:46 | in : String | Test.java:39:10:39:50 | createUnresolved(...) : InetSocketAddress | provenance | MaD:2 |
| Test.java:45:16:45:32 | (...)... : String | Test.java:46:18:46:19 | in : String | provenance | |
| Test.java:45:25:45:32 | source(...) : Object | Test.java:45:16:45:32 | (...)... : String | provenance | |
| Test.java:46:10:46:20 | new URI(...) : URI | Test.java:47:9:47:11 | out | provenance | |
| Test.java:46:18:46:19 | in : String | Test.java:46:10:46:20 | new URI(...) : URI | provenance | MaD:4 |
| Test.java:52:16:52:32 | (...)... : String | Test.java:53:21:53:22 | in : String | provenance | |
| Test.java:52:25:52:32 | source(...) : Object | Test.java:52:16:52:32 | (...)... : String | provenance | |
| Test.java:53:10:53:23 | create(...) : URI | Test.java:54:9:54:11 | out | provenance | |
| Test.java:53:21:53:22 | in : String | Test.java:53:10:53:23 | create(...) : URI | provenance | MaD:5 |
| Test.java:59:16:59:32 | (...)... : String | Test.java:61:27:61:28 | in : String | provenance | |
| Test.java:59:25:59:32 | source(...) : Object | Test.java:59:16:59:32 | (...)... : String | provenance | |
| Test.java:61:10:61:29 | resolve(...) : URI | Test.java:62:9:62:11 | out | provenance | |
| Test.java:61:27:61:28 | in : String | Test.java:61:10:61:29 | resolve(...) : URI | provenance | MaD:6 |
| Test.java:67:13:67:26 | (...)... : URI | Test.java:69:27:69:28 | in : URI | provenance | |
| Test.java:67:19:67:26 | source(...) : Object | Test.java:67:13:67:26 | (...)... : URI | provenance | |
| Test.java:69:10:69:29 | resolve(...) : URI | Test.java:70:9:70:11 | out | provenance | |
| Test.java:69:27:69:28 | in : URI | Test.java:69:10:69:29 | resolve(...) : URI | provenance | MaD:7 |
| Test.java:75:13:75:26 | (...)... : URI | Test.java:76:10:76:11 | in : URI | provenance | |
| Test.java:75:19:75:26 | source(...) : Object | Test.java:75:13:75:26 | (...)... : URI | provenance | |
| Test.java:76:10:76:11 | in : URI | Test.java:76:10:76:27 | toASCIIString(...) : String | provenance | MaD:8 |
| Test.java:76:10:76:27 | toASCIIString(...) : String | Test.java:77:9:77:11 | out | provenance | |
| Test.java:82:13:82:26 | (...)... : URI | Test.java:83:10:83:11 | in : URI | provenance | |
| Test.java:82:19:82:26 | source(...) : Object | Test.java:82:13:82:26 | (...)... : URI | provenance | |
| Test.java:83:10:83:11 | in : URI | Test.java:83:10:83:22 | toString(...) : String | provenance | MaD:9 |
| Test.java:83:10:83:22 | toString(...) : String | Test.java:84:9:84:11 | out | provenance | |
| Test.java:89:13:89:26 | (...)... : URI | Test.java:90:10:90:11 | in : URI | provenance | |
| Test.java:89:19:89:26 | source(...) : Object | Test.java:89:13:89:26 | (...)... : URI | provenance | |
| Test.java:90:10:90:11 | in : URI | Test.java:90:10:90:19 | toURL(...) : URL | provenance | MaD:10 |
| Test.java:90:10:90:19 | toURL(...) : URL | Test.java:91:9:91:11 | out | provenance | |
| Test.java:97:13:97:26 | (...)... : URI | Test.java:98:10:98:11 | in : URI | provenance | |
| Test.java:97:19:97:26 | source(...) : Object | Test.java:97:13:97:26 | (...)... : URI | provenance | |
| Test.java:98:10:98:11 | in : URI | Test.java:98:10:98:19 | toURL(...) : URL | provenance | MaD:10 |
| Test.java:98:10:98:19 | toURL(...) : URL | Test.java:99:9:99:11 | out : URL | provenance | |
| Test.java:99:9:99:11 | out : URL | Test.java:99:9:99:21 | getPath(...) | provenance | MaD:11 |
| Test.java:104:16:104:32 | (...)... : String | Test.java:105:18:105:19 | in : String | provenance | |
| Test.java:104:25:104:32 | source(...) : Object | Test.java:104:16:104:32 | (...)... : String | provenance | |
| Test.java:105:10:105:20 | new URL(...) : URL | Test.java:106:9:106:11 | out | provenance | |
| Test.java:105:18:105:19 | in : String | Test.java:105:10:105:20 | new URL(...) : URL | provenance | MaD:12 |
| Test.java:112:16:112:32 | (...)... : String | Test.java:113:18:113:19 | in : String | provenance | |
| Test.java:112:25:112:32 | source(...) : Object | Test.java:112:16:112:32 | (...)... : String | provenance | |
| Test.java:113:10:113:20 | new URL(...) : URL | Test.java:114:9:114:11 | out : URL | provenance | |
| Test.java:113:18:113:19 | in : String | Test.java:113:10:113:20 | new URL(...) : URL | provenance | MaD:12 |
| Test.java:114:9:114:11 | out : URL | Test.java:114:9:114:21 | getPath(...) | provenance | MaD:11 |
| Test.java:119:13:119:26 | (...)... : URL | Test.java:120:18:120:19 | in : URL | provenance | |
| Test.java:119:19:119:26 | source(...) : Object | Test.java:119:13:119:26 | (...)... : URL | provenance | |
| Test.java:120:10:120:26 | new URL(...) : URL | Test.java:121:9:121:11 | out | provenance | |
| Test.java:120:18:120:19 | in : URL | Test.java:120:10:120:26 | new URL(...) : URL | provenance | MaD:13 |
| Test.java:126:16:126:32 | (...)... : String | Test.java:127:24:127:25 | in : String | provenance | |
| Test.java:126:25:126:32 | source(...) : Object | Test.java:126:16:126:32 | (...)... : String | provenance | |
| Test.java:127:10:127:26 | new URL(...) : URL | Test.java:128:9:128:11 | out | provenance | |
| Test.java:127:24:127:25 | in : String | Test.java:127:10:127:26 | new URL(...) : URL | provenance | MaD:14 |
| Test.java:133:13:133:26 | (...)... : URL | Test.java:134:10:134:11 | in : URL | provenance | |
| Test.java:133:19:133:26 | source(...) : Object | Test.java:133:13:133:26 | (...)... : URL | provenance | |
| Test.java:134:10:134:11 | in : URL | Test.java:134:10:134:28 | toExternalForm(...) : String | provenance | MaD:15 |
| Test.java:134:10:134:28 | toExternalForm(...) : String | Test.java:135:9:135:11 | out | provenance | |
| Test.java:140:13:140:26 | (...)... : URL | Test.java:141:10:141:11 | in : URL | provenance | |
| Test.java:140:19:140:26 | source(...) : Object | Test.java:140:13:140:26 | (...)... : URL | provenance | |
| Test.java:141:10:141:11 | in : URL | Test.java:141:10:141:19 | toURI(...) : URI | provenance | MaD:16 |
| Test.java:141:10:141:19 | toURI(...) : URI | Test.java:142:9:142:11 | out | provenance | |
| Test.java:147:16:147:32 | (...)... : String | Test.java:148:28:148:29 | in : String | provenance | |
| Test.java:147:25:147:32 | source(...) : Object | Test.java:147:16:147:32 | (...)... : String | provenance | |
| Test.java:148:10:148:30 | decode(...) : String | Test.java:149:9:149:11 | out | provenance | |
| Test.java:148:28:148:29 | in : String | Test.java:148:10:148:30 | decode(...) : String | provenance | MaD:17 |
| Test.java:154:16:154:32 | (...)... : String | Test.java:155:28:155:29 | in : String | provenance | |
| Test.java:154:25:154:32 | source(...) : Object | Test.java:154:16:154:32 | (...)... : String | provenance | |
| Test.java:155:10:155:46 | decode(...) : String | Test.java:156:9:156:11 | out | provenance | |
| Test.java:155:28:155:29 | in : String | Test.java:155:10:155:46 | decode(...) : String | provenance | MaD:17 |
| Test.java:161:16:161:32 | (...)... : String | Test.java:162:28:162:29 | in : String | provenance | |
| Test.java:161:25:161:32 | source(...) : Object | Test.java:161:16:161:32 | (...)... : String | provenance | |
| Test.java:162:10:162:45 | decode(...) : String | Test.java:163:9:163:11 | out | provenance | |
| Test.java:162:28:162:29 | in : String | Test.java:162:10:162:45 | decode(...) : String | provenance | MaD:17 |
nodes
| Test.java:24:16:24:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:24:25:24:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:25:10:25:34 | getByName(...) : InetAddress | semmle.label | getByName(...) : InetAddress |
| Test.java:25:32:25:33 | in : String | semmle.label | in : String |
| Test.java:26:9:26:11 | out | semmle.label | out |
| Test.java:31:16:31:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:31:25:31:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:32:10:32:37 | new InetSocketAddress(...) : InetSocketAddress | semmle.label | new InetSocketAddress(...) : InetSocketAddress |
| Test.java:32:32:32:33 | in : String | semmle.label | in : String |
| Test.java:33:9:33:11 | out | semmle.label | out |
| Test.java:38:16:38:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:38:25:38:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:39:10:39:50 | createUnresolved(...) : InetSocketAddress | semmle.label | createUnresolved(...) : InetSocketAddress |
| Test.java:39:45:39:46 | in : String | semmle.label | in : String |
| Test.java:40:9:40:11 | out | semmle.label | out |
| Test.java:45:16:45:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:45:25:45:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:46:10:46:20 | new URI(...) : URI | semmle.label | new URI(...) : URI |
| Test.java:46:18:46:19 | in : String | semmle.label | in : String |
| Test.java:47:9:47:11 | out | semmle.label | out |
| Test.java:52:16:52:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:52:25:52:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:53:10:53:23 | create(...) : URI | semmle.label | create(...) : URI |
| Test.java:53:21:53:22 | in : String | semmle.label | in : String |
| Test.java:54:9:54:11 | out | semmle.label | out |
| Test.java:59:16:59:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:59:25:59:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:61:10:61:29 | resolve(...) : URI | semmle.label | resolve(...) : URI |
| Test.java:61:27:61:28 | in : String | semmle.label | in : String |
| Test.java:62:9:62:11 | out | semmle.label | out |
| Test.java:67:13:67:26 | (...)... : URI | semmle.label | (...)... : URI |
| Test.java:67:19:67:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:69:10:69:29 | resolve(...) : URI | semmle.label | resolve(...) : URI |
| Test.java:69:27:69:28 | in : URI | semmle.label | in : URI |
| Test.java:70:9:70:11 | out | semmle.label | out |
| Test.java:75:13:75:26 | (...)... : URI | semmle.label | (...)... : URI |
| Test.java:75:19:75:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:76:10:76:11 | in : URI | semmle.label | in : URI |
| Test.java:76:10:76:27 | toASCIIString(...) : String | semmle.label | toASCIIString(...) : String |
| Test.java:77:9:77:11 | out | semmle.label | out |
| Test.java:82:13:82:26 | (...)... : URI | semmle.label | (...)... : URI |
| Test.java:82:19:82:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:83:10:83:11 | in : URI | semmle.label | in : URI |
| Test.java:83:10:83:22 | toString(...) : String | semmle.label | toString(...) : String |
| Test.java:84:9:84:11 | out | semmle.label | out |
| Test.java:89:13:89:26 | (...)... : URI | semmle.label | (...)... : URI |
| Test.java:89:19:89:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:90:10:90:11 | in : URI | semmle.label | in : URI |
| Test.java:90:10:90:19 | toURL(...) : URL | semmle.label | toURL(...) : URL |
| Test.java:91:9:91:11 | out | semmle.label | out |
| Test.java:97:13:97:26 | (...)... : URI | semmle.label | (...)... : URI |
| Test.java:97:19:97:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:98:10:98:11 | in : URI | semmle.label | in : URI |
| Test.java:98:10:98:19 | toURL(...) : URL | semmle.label | toURL(...) : URL |
| Test.java:99:9:99:11 | out : URL | semmle.label | out : URL |
| Test.java:99:9:99:21 | getPath(...) | semmle.label | getPath(...) |
| Test.java:104:16:104:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:104:25:104:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:105:10:105:20 | new URL(...) : URL | semmle.label | new URL(...) : URL |
| Test.java:105:18:105:19 | in : String | semmle.label | in : String |
| Test.java:106:9:106:11 | out | semmle.label | out |
| Test.java:112:16:112:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:112:25:112:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:113:10:113:20 | new URL(...) : URL | semmle.label | new URL(...) : URL |
| Test.java:113:18:113:19 | in : String | semmle.label | in : String |
| Test.java:114:9:114:11 | out : URL | semmle.label | out : URL |
| Test.java:114:9:114:21 | getPath(...) | semmle.label | getPath(...) |
| Test.java:119:13:119:26 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:119:19:119:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:120:10:120:26 | new URL(...) : URL | semmle.label | new URL(...) : URL |
| Test.java:120:18:120:19 | in : URL | semmle.label | in : URL |
| Test.java:121:9:121:11 | out | semmle.label | out |
| Test.java:126:16:126:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:126:25:126:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:127:10:127:26 | new URL(...) : URL | semmle.label | new URL(...) : URL |
| Test.java:127:24:127:25 | in : String | semmle.label | in : String |
| Test.java:128:9:128:11 | out | semmle.label | out |
| Test.java:133:13:133:26 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:133:19:133:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:134:10:134:11 | in : URL | semmle.label | in : URL |
| Test.java:134:10:134:28 | toExternalForm(...) : String | semmle.label | toExternalForm(...) : String |
| Test.java:135:9:135:11 | out | semmle.label | out |
| Test.java:140:13:140:26 | (...)... : URL | semmle.label | (...)... : URL |
| Test.java:140:19:140:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:141:10:141:11 | in : URL | semmle.label | in : URL |
| Test.java:141:10:141:19 | toURI(...) : URI | semmle.label | toURI(...) : URI |
| Test.java:142:9:142:11 | out | semmle.label | out |
| Test.java:147:16:147:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:147:25:147:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:148:10:148:30 | decode(...) : String | semmle.label | decode(...) : String |
| Test.java:148:28:148:29 | in : String | semmle.label | in : String |
| Test.java:149:9:149:11 | out | semmle.label | out |
| Test.java:154:16:154:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:154:25:154:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:155:10:155:46 | decode(...) : String | semmle.label | decode(...) : String |
| Test.java:155:28:155:29 | in : String | semmle.label | in : String |
| Test.java:156:9:156:11 | out | semmle.label | out |
| Test.java:161:16:161:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:161:25:161:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:162:10:162:45 | decode(...) : String | semmle.label | decode(...) : String |
| Test.java:162:28:162:29 | in : String | semmle.label | in : String |
| Test.java:163:9:163:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,146 @@
models
| 1 | Summary: java.nio.file; FileSystem; true; getPath; (String,String[]); ; Argument[0]; ReturnValue; taint; manual |
| 2 | Summary: java.nio.file; Path; true; getParent; ; ; Argument[this]; ReturnValue; taint; manual |
| 3 | Summary: java.nio.file; Path; true; normalize; ; ; Argument[this]; ReturnValue; taint; manual |
| 4 | Summary: java.nio.file; Path; true; resolve; ; ; Argument[0]; ReturnValue; taint; manual |
| 5 | Summary: java.nio.file; Path; true; resolve; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: java.nio.file; Path; true; toAbsolutePath; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: java.nio.file; Path; false; toFile; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: java.nio.file; Path; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: java.nio.file; Path; true; toUri; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: java.nio.file; Paths; true; get; ; ; Argument[0]; ReturnValue; taint; manual |
| 11 | Summary: java.nio.file; Paths; true; get; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
edges
| Test.java:23:16:23:32 | (...)... : String | Test.java:25:27:25:28 | in : String | provenance | |
| Test.java:23:25:23:32 | source(...) : Object | Test.java:23:16:23:32 | (...)... : String | provenance | |
| Test.java:25:10:25:46 | getPath(...) : Path | Test.java:26:9:26:11 | out | provenance | |
| Test.java:25:27:25:28 | in : String | Test.java:25:10:25:46 | getPath(...) : Path | provenance | MaD:1 |
| Test.java:31:14:31:28 | (...)... : Path | Test.java:32:10:32:11 | in : Path | provenance | |
| Test.java:31:21:31:28 | source(...) : Object | Test.java:31:14:31:28 | (...)... : Path | provenance | |
| Test.java:32:10:32:11 | in : Path | Test.java:32:10:32:20 | toFile(...) : File | provenance | MaD:7 |
| Test.java:32:10:32:20 | toFile(...) : File | Test.java:33:9:33:11 | out | provenance | |
| Test.java:38:14:38:28 | (...)... : Path | Test.java:39:10:39:11 | in : Path | provenance | |
| Test.java:38:21:38:28 | source(...) : Object | Test.java:38:14:38:28 | (...)... : Path | provenance | |
| Test.java:39:10:39:11 | in : Path | Test.java:39:10:39:23 | getParent(...) : Path | provenance | MaD:2 |
| Test.java:39:10:39:23 | getParent(...) : Path | Test.java:40:9:40:11 | out | provenance | |
| Test.java:45:14:45:28 | (...)... : Path | Test.java:46:10:46:11 | in : Path | provenance | |
| Test.java:45:21:45:28 | source(...) : Object | Test.java:45:14:45:28 | (...)... : Path | provenance | |
| Test.java:46:10:46:11 | in : Path | Test.java:46:10:46:23 | normalize(...) : Path | provenance | MaD:3 |
| Test.java:46:10:46:23 | normalize(...) : Path | Test.java:47:9:47:11 | out | provenance | |
| Test.java:52:14:52:28 | (...)... : Path | Test.java:54:27:54:28 | in : Path | provenance | |
| Test.java:52:21:52:28 | source(...) : Object | Test.java:52:14:52:28 | (...)... : Path | provenance | |
| Test.java:54:10:54:29 | resolve(...) : Path | Test.java:55:9:55:11 | out | provenance | |
| Test.java:54:27:54:28 | in : Path | Test.java:54:10:54:29 | resolve(...) : Path | provenance | MaD:4 |
| Test.java:60:14:60:28 | (...)... : Path | Test.java:61:10:61:11 | in : Path | provenance | |
| Test.java:60:21:60:28 | source(...) : Object | Test.java:60:14:60:28 | (...)... : Path | provenance | |
| Test.java:61:10:61:11 | in : Path | Test.java:61:10:61:32 | resolve(...) : Path | provenance | MaD:5 |
| Test.java:61:10:61:32 | resolve(...) : Path | Test.java:62:9:62:11 | out | provenance | |
| Test.java:67:14:67:28 | (...)... : Path | Test.java:68:10:68:11 | in : Path | provenance | |
| Test.java:67:21:67:28 | source(...) : Object | Test.java:67:14:67:28 | (...)... : Path | provenance | |
| Test.java:68:10:68:11 | in : Path | Test.java:68:10:68:34 | resolve(...) : Path | provenance | MaD:5 |
| Test.java:68:10:68:34 | resolve(...) : Path | Test.java:69:9:69:11 | out | provenance | |
| Test.java:74:16:74:32 | (...)... : String | Test.java:76:27:76:28 | in : String | provenance | |
| Test.java:74:25:74:32 | source(...) : Object | Test.java:74:16:74:32 | (...)... : String | provenance | |
| Test.java:76:10:76:29 | resolve(...) : Path | Test.java:77:9:77:11 | out | provenance | |
| Test.java:76:27:76:28 | in : String | Test.java:76:10:76:29 | resolve(...) : Path | provenance | MaD:4 |
| Test.java:82:14:82:28 | (...)... : Path | Test.java:83:10:83:11 | in : Path | provenance | |
| Test.java:82:21:82:28 | source(...) : Object | Test.java:82:14:82:28 | (...)... : Path | provenance | |
| Test.java:83:10:83:11 | in : Path | Test.java:83:10:83:28 | toAbsolutePath(...) : Path | provenance | MaD:6 |
| Test.java:83:10:83:28 | toAbsolutePath(...) : Path | Test.java:84:9:84:11 | out | provenance | |
| Test.java:89:14:89:28 | (...)... : Path | Test.java:90:10:90:11 | in : Path | provenance | |
| Test.java:89:21:89:28 | source(...) : Object | Test.java:89:14:89:28 | (...)... : Path | provenance | |
| Test.java:90:10:90:11 | in : Path | Test.java:90:10:90:22 | toString(...) : String | provenance | MaD:8 |
| Test.java:90:10:90:22 | toString(...) : String | Test.java:91:9:91:11 | out | provenance | |
| Test.java:96:14:96:28 | (...)... : Path | Test.java:97:10:97:11 | in : Path | provenance | |
| Test.java:96:21:96:28 | source(...) : Object | Test.java:96:14:96:28 | (...)... : Path | provenance | |
| Test.java:97:10:97:11 | in : Path | Test.java:97:10:97:19 | toUri(...) : URI | provenance | MaD:9 |
| Test.java:97:10:97:19 | toUri(...) : URI | Test.java:98:9:98:11 | out | provenance | |
| Test.java:103:16:103:32 | (...)... : String | Test.java:104:20:104:21 | in : String | provenance | |
| Test.java:103:25:103:32 | source(...) : Object | Test.java:103:16:103:32 | (...)... : String | provenance | |
| Test.java:104:10:104:39 | get(...) : Path | Test.java:105:9:105:11 | out | provenance | |
| Test.java:104:20:104:21 | in : String | Test.java:104:10:104:39 | get(...) : Path | provenance | MaD:10 |
| Test.java:110:13:110:26 | (...)... : URI | Test.java:111:20:111:21 | in : URI | provenance | |
| Test.java:110:19:110:26 | source(...) : Object | Test.java:110:13:110:26 | (...)... : URI | provenance | |
| Test.java:111:10:111:22 | get(...) : Path | Test.java:112:9:112:11 | out | provenance | |
| Test.java:111:20:111:21 | in : URI | Test.java:111:10:111:22 | get(...) : Path | provenance | MaD:10 |
| Test.java:117:18:117:60 | (...)... : String[] [[]] : String | Test.java:118:35:118:36 | in : String[] [[]] : String | provenance | |
| Test.java:117:29:117:60 | {...} : String[] [[]] : String | Test.java:117:18:117:60 | (...)... : String[] [[]] : String | provenance | |
| Test.java:117:43:117:59 | (...)... : String | Test.java:117:29:117:60 | {...} : String[] [[]] : String | provenance | |
| Test.java:117:52:117:59 | source(...) : Object | Test.java:117:43:117:59 | (...)... : String | provenance | |
| Test.java:118:10:118:37 | get(...) : Path | Test.java:119:9:119:11 | out | provenance | |
| Test.java:118:35:118:36 | in : String[] [[]] : String | Test.java:118:10:118:37 | get(...) : Path | provenance | MaD:11 |
nodes
| Test.java:23:16:23:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:23:25:23:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:25:10:25:46 | getPath(...) : Path | semmle.label | getPath(...) : Path |
| Test.java:25:27:25:28 | in : String | semmle.label | in : String |
| Test.java:26:9:26:11 | out | semmle.label | out |
| Test.java:31:14:31:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:31:21:31:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:32:10:32:11 | in : Path | semmle.label | in : Path |
| Test.java:32:10:32:20 | toFile(...) : File | semmle.label | toFile(...) : File |
| Test.java:33:9:33:11 | out | semmle.label | out |
| Test.java:38:14:38:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:38:21:38:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:39:10:39:11 | in : Path | semmle.label | in : Path |
| Test.java:39:10:39:23 | getParent(...) : Path | semmle.label | getParent(...) : Path |
| Test.java:40:9:40:11 | out | semmle.label | out |
| Test.java:45:14:45:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:45:21:45:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:46:10:46:11 | in : Path | semmle.label | in : Path |
| Test.java:46:10:46:23 | normalize(...) : Path | semmle.label | normalize(...) : Path |
| Test.java:47:9:47:11 | out | semmle.label | out |
| Test.java:52:14:52:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:52:21:52:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:54:10:54:29 | resolve(...) : Path | semmle.label | resolve(...) : Path |
| Test.java:54:27:54:28 | in : Path | semmle.label | in : Path |
| Test.java:55:9:55:11 | out | semmle.label | out |
| Test.java:60:14:60:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:60:21:60:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:61:10:61:11 | in : Path | semmle.label | in : Path |
| Test.java:61:10:61:32 | resolve(...) : Path | semmle.label | resolve(...) : Path |
| Test.java:62:9:62:11 | out | semmle.label | out |
| Test.java:67:14:67:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:67:21:67:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:68:10:68:11 | in : Path | semmle.label | in : Path |
| Test.java:68:10:68:34 | resolve(...) : Path | semmle.label | resolve(...) : Path |
| Test.java:69:9:69:11 | out | semmle.label | out |
| Test.java:74:16:74:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:74:25:74:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:76:10:76:29 | resolve(...) : Path | semmle.label | resolve(...) : Path |
| Test.java:76:27:76:28 | in : String | semmle.label | in : String |
| Test.java:77:9:77:11 | out | semmle.label | out |
| Test.java:82:14:82:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:82:21:82:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:83:10:83:11 | in : Path | semmle.label | in : Path |
| Test.java:83:10:83:28 | toAbsolutePath(...) : Path | semmle.label | toAbsolutePath(...) : Path |
| Test.java:84:9:84:11 | out | semmle.label | out |
| Test.java:89:14:89:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:89:21:89:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:90:10:90:11 | in : Path | semmle.label | in : Path |
| Test.java:90:10:90:22 | toString(...) : String | semmle.label | toString(...) : String |
| Test.java:91:9:91:11 | out | semmle.label | out |
| Test.java:96:14:96:28 | (...)... : Path | semmle.label | (...)... : Path |
| Test.java:96:21:96:28 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:97:10:97:11 | in : Path | semmle.label | in : Path |
| Test.java:97:10:97:19 | toUri(...) : URI | semmle.label | toUri(...) : URI |
| Test.java:98:9:98:11 | out | semmle.label | out |
| Test.java:103:16:103:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:103:25:103:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:104:10:104:39 | get(...) : Path | semmle.label | get(...) : Path |
| Test.java:104:20:104:21 | in : String | semmle.label | in : String |
| Test.java:105:9:105:11 | out | semmle.label | out |
| Test.java:110:13:110:26 | (...)... : URI | semmle.label | (...)... : URI |
| Test.java:110:19:110:26 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:111:10:111:22 | get(...) : Path | semmle.label | get(...) : Path |
| Test.java:111:20:111:21 | in : URI | semmle.label | in : URI |
| Test.java:112:9:112:11 | out | semmle.label | out |
| Test.java:117:18:117:60 | (...)... : String[] [[]] : String | semmle.label | (...)... : String[] [[]] : String |
| Test.java:117:29:117:60 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| Test.java:117:43:117:59 | (...)... : String | semmle.label | (...)... : String |
| Test.java:117:52:117:59 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:118:10:118:37 | get(...) : Path | semmle.label | get(...) : Path |
| Test.java:118:35:118:36 | in : String[] [[]] : String | semmle.label | in : String[] [[]] : String |
| Test.java:119:9:119:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,244 @@
models
| 1 | Summary: play.mvc; Http$RequestBody; true; as; ; ; Argument[this]; ReturnValue; taint; manual |
| 2 | Summary: play.mvc; Http$RequestBody; true; asBytes; ; ; Argument[this]; ReturnValue; taint; manual |
| 3 | Summary: play.mvc; Http$RequestBody; true; asFormUrlEncoded; ; ; Argument[this]; ReturnValue; taint; manual |
| 4 | Summary: play.mvc; Http$RequestBody; true; asJson; ; ; Argument[this]; ReturnValue; taint; manual |
| 5 | Summary: play.mvc; Http$RequestBody; true; asMultipartFormData; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: play.mvc; Http$RequestBody; true; asRaw; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: play.mvc; Http$RequestBody; true; asText; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: play.mvc; Http$RequestBody; true; asXml; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: play.mvc; Http$RequestBody; true; parseJson; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: play.mvc; Http$MultipartFormData; true; asFormUrlEncoded; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: play.mvc; Http$MultipartFormData; true; getFile; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: play.mvc; Http$MultipartFormData; true; getFiles; ; ; Argument[this]; ReturnValue; taint; manual |
| 13 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getContentType; ; ; Argument[this]; ReturnValue; taint; manual |
| 14 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getDispositionType; ; ; Argument[this]; ReturnValue; taint; manual |
| 15 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getFilename; ; ; Argument[this]; ReturnValue; taint; manual |
| 16 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getKey; ; ; Argument[this]; ReturnValue; taint; manual |
| 17 | Summary: play.mvc; Http$MultipartFormData$FilePart; true; getRef; ; ; Argument[this]; ReturnValue; taint; manual |
| 18 | Summary: play.mvc; Http$RawBuffer; true; asBytes; ; ; Argument[this]; ReturnValue; taint; manual |
| 19 | Summary: play.mvc; Http$RawBuffer; true; asFile; ; ; Argument[this]; ReturnValue; taint; manual |
| 20 | Summary: play.mvc; Http$Cookie; true; name; ; ; Argument[this]; ReturnValue; taint; manual |
| 21 | Summary: play.mvc; Http$Cookie; true; value; ; ; Argument[this]; ReturnValue; taint; manual |
| 22 | Summary: play.mvc; Http$Cookies; true; get; ; ; Argument[this]; ReturnValue; taint; manual |
| 23 | Summary: play.mvc; Http$Cookies; true; getCookie; ; ; Argument[this]; ReturnValue; taint; manual |
edges
| mad/Test.java:26:21:26:42 | (...)... : Cookie | mad/Test.java:27:10:27:11 | in : Cookie | provenance | |
| mad/Test.java:26:35:26:42 | source(...) : Object | mad/Test.java:26:21:26:42 | (...)... : Cookie | provenance | |
| mad/Test.java:27:10:27:11 | in : Cookie | mad/Test.java:27:10:27:18 | name(...) : String | provenance | MaD:20 |
| mad/Test.java:27:10:27:18 | name(...) : String | mad/Test.java:28:9:28:11 | out | provenance | |
| mad/Test.java:33:21:33:42 | (...)... : Cookie | mad/Test.java:34:10:34:11 | in : Cookie | provenance | |
| mad/Test.java:33:35:33:42 | source(...) : Object | mad/Test.java:33:21:33:42 | (...)... : Cookie | provenance | |
| mad/Test.java:34:10:34:11 | in : Cookie | mad/Test.java:34:10:34:19 | value(...) : String | provenance | MaD:21 |
| mad/Test.java:34:10:34:19 | value(...) : String | mad/Test.java:35:9:35:11 | out | provenance | |
| mad/Test.java:40:22:40:44 | (...)... : Cookies | mad/Test.java:41:10:41:11 | in : Cookies | provenance | |
| mad/Test.java:40:37:40:44 | source(...) : Object | mad/Test.java:40:22:40:44 | (...)... : Cookies | provenance | |
| mad/Test.java:41:10:41:11 | in : Cookies | mad/Test.java:41:10:41:21 | get(...) : Cookie | provenance | MaD:22 |
| mad/Test.java:41:10:41:21 | get(...) : Cookie | mad/Test.java:42:9:42:11 | out | provenance | |
| mad/Test.java:47:22:47:44 | (...)... : Cookies | mad/Test.java:48:10:48:11 | in : Cookies | provenance | |
| mad/Test.java:47:37:47:44 | source(...) : Object | mad/Test.java:47:22:47:44 | (...)... : Cookies | provenance | |
| mad/Test.java:48:10:48:11 | in : Cookies | mad/Test.java:48:10:48:27 | getCookie(...) : Optional | provenance | MaD:23 |
| mad/Test.java:48:10:48:27 | getCookie(...) : Optional | mad/Test.java:49:9:49:11 | out | provenance | |
| mad/Test.java:54:41:54:82 | (...)... : FilePart | mad/Test.java:55:10:55:11 | in : FilePart | provenance | |
| mad/Test.java:54:75:54:82 | source(...) : Object | mad/Test.java:54:41:54:82 | (...)... : FilePart | provenance | |
| mad/Test.java:55:10:55:11 | in : FilePart | mad/Test.java:55:10:55:28 | getContentType(...) : String | provenance | MaD:13 |
| mad/Test.java:55:10:55:28 | getContentType(...) : String | mad/Test.java:56:9:56:11 | out | provenance | |
| mad/Test.java:61:41:61:82 | (...)... : FilePart | mad/Test.java:62:10:62:11 | in : FilePart | provenance | |
| mad/Test.java:61:75:61:82 | source(...) : Object | mad/Test.java:61:41:61:82 | (...)... : FilePart | provenance | |
| mad/Test.java:62:10:62:11 | in : FilePart | mad/Test.java:62:10:62:32 | getDispositionType(...) : String | provenance | MaD:14 |
| mad/Test.java:62:10:62:32 | getDispositionType(...) : String | mad/Test.java:63:9:63:11 | out | provenance | |
| mad/Test.java:68:41:68:82 | (...)... : FilePart | mad/Test.java:69:10:69:11 | in : FilePart | provenance | |
| mad/Test.java:68:75:68:82 | source(...) : Object | mad/Test.java:68:41:68:82 | (...)... : FilePart | provenance | |
| mad/Test.java:69:10:69:11 | in : FilePart | mad/Test.java:69:10:69:25 | getFilename(...) : String | provenance | MaD:15 |
| mad/Test.java:69:10:69:25 | getFilename(...) : String | mad/Test.java:70:9:70:11 | out | provenance | |
| mad/Test.java:75:41:75:82 | (...)... : FilePart | mad/Test.java:76:10:76:11 | in : FilePart | provenance | |
| mad/Test.java:75:75:75:82 | source(...) : Object | mad/Test.java:75:41:75:82 | (...)... : FilePart | provenance | |
| mad/Test.java:76:10:76:11 | in : FilePart | mad/Test.java:76:10:76:20 | getKey(...) : String | provenance | MaD:16 |
| mad/Test.java:76:10:76:20 | getKey(...) : String | mad/Test.java:77:9:77:11 | out | provenance | |
| mad/Test.java:82:41:82:82 | (...)... : FilePart | mad/Test.java:83:10:83:11 | in : FilePart | provenance | |
| mad/Test.java:82:75:82:82 | source(...) : Object | mad/Test.java:82:41:82:82 | (...)... : FilePart | provenance | |
| mad/Test.java:83:10:83:11 | in : FilePart | mad/Test.java:83:10:83:20 | getRef(...) : Object | provenance | MaD:17 |
| mad/Test.java:83:10:83:20 | getRef(...) : Object | mad/Test.java:84:9:84:11 | out | provenance | |
| mad/Test.java:89:32:89:64 | (...)... : MultipartFormData | mad/Test.java:90:10:90:11 | in : MultipartFormData | provenance | |
| mad/Test.java:89:57:89:64 | source(...) : Object | mad/Test.java:89:32:89:64 | (...)... : MultipartFormData | provenance | |
| mad/Test.java:90:10:90:11 | in : MultipartFormData | mad/Test.java:90:10:90:30 | asFormUrlEncoded(...) : Map | provenance | MaD:10 |
| mad/Test.java:90:10:90:30 | asFormUrlEncoded(...) : Map | mad/Test.java:91:9:91:11 | out | provenance | |
| mad/Test.java:96:32:96:64 | (...)... : MultipartFormData | mad/Test.java:97:10:97:11 | in : MultipartFormData | provenance | |
| mad/Test.java:96:57:96:64 | source(...) : Object | mad/Test.java:96:32:96:64 | (...)... : MultipartFormData | provenance | |
| mad/Test.java:97:10:97:11 | in : MultipartFormData | mad/Test.java:97:10:97:25 | getFile(...) : FilePart | provenance | MaD:11 |
| mad/Test.java:97:10:97:25 | getFile(...) : FilePart | mad/Test.java:98:9:98:11 | out | provenance | |
| mad/Test.java:103:32:103:64 | (...)... : MultipartFormData | mad/Test.java:104:10:104:11 | in : MultipartFormData | provenance | |
| mad/Test.java:103:57:103:64 | source(...) : Object | mad/Test.java:103:32:103:64 | (...)... : MultipartFormData | provenance | |
| mad/Test.java:104:10:104:11 | in : MultipartFormData | mad/Test.java:104:10:104:22 | getFiles(...) : List | provenance | MaD:12 |
| mad/Test.java:104:10:104:22 | getFiles(...) : List | mad/Test.java:105:9:105:11 | out | provenance | |
| mad/Test.java:110:24:110:48 | (...)... : RawBuffer | mad/Test.java:111:10:111:11 | in : RawBuffer | provenance | |
| mad/Test.java:110:41:110:48 | source(...) : Object | mad/Test.java:110:24:110:48 | (...)... : RawBuffer | provenance | |
| mad/Test.java:111:10:111:11 | in : RawBuffer | mad/Test.java:111:10:111:21 | asBytes(...) : ByteString | provenance | MaD:18 |
| mad/Test.java:111:10:111:21 | asBytes(...) : ByteString | mad/Test.java:112:9:112:11 | out | provenance | |
| mad/Test.java:117:24:117:48 | (...)... : RawBuffer | mad/Test.java:118:10:118:11 | in : RawBuffer | provenance | |
| mad/Test.java:117:41:117:48 | source(...) : Object | mad/Test.java:117:24:117:48 | (...)... : RawBuffer | provenance | |
| mad/Test.java:118:10:118:11 | in : RawBuffer | mad/Test.java:118:10:118:22 | asBytes(...) : ByteString | provenance | MaD:18 |
| mad/Test.java:118:10:118:22 | asBytes(...) : ByteString | mad/Test.java:119:9:119:11 | out | provenance | |
| mad/Test.java:124:24:124:48 | (...)... : RawBuffer | mad/Test.java:125:10:125:11 | in : RawBuffer | provenance | |
| mad/Test.java:124:41:124:48 | source(...) : Object | mad/Test.java:124:24:124:48 | (...)... : RawBuffer | provenance | |
| mad/Test.java:125:10:125:11 | in : RawBuffer | mad/Test.java:125:10:125:20 | asFile(...) : File | provenance | MaD:19 |
| mad/Test.java:125:10:125:20 | asFile(...) : File | mad/Test.java:126:9:126:11 | out | provenance | |
| mad/Test.java:131:26:131:52 | (...)... : RequestBody | mad/Test.java:132:10:132:11 | in : RequestBody | provenance | |
| mad/Test.java:131:45:131:52 | source(...) : Object | mad/Test.java:131:26:131:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:132:10:132:11 | in : RequestBody | mad/Test.java:132:10:132:20 | as(...) : Object | provenance | MaD:1 |
| mad/Test.java:132:10:132:20 | as(...) : Object | mad/Test.java:133:9:133:11 | out | provenance | |
| mad/Test.java:138:26:138:52 | (...)... : RequestBody | mad/Test.java:139:10:139:11 | in : RequestBody | provenance | |
| mad/Test.java:138:45:138:52 | source(...) : Object | mad/Test.java:138:26:138:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:139:10:139:11 | in : RequestBody | mad/Test.java:139:10:139:21 | asBytes(...) : ByteString | provenance | MaD:2 |
| mad/Test.java:139:10:139:21 | asBytes(...) : ByteString | mad/Test.java:140:9:140:11 | out | provenance | |
| mad/Test.java:145:26:145:52 | (...)... : RequestBody | mad/Test.java:146:10:146:11 | in : RequestBody | provenance | |
| mad/Test.java:145:45:145:52 | source(...) : Object | mad/Test.java:145:26:145:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:146:10:146:11 | in : RequestBody | mad/Test.java:146:10:146:30 | asFormUrlEncoded(...) : Map | provenance | MaD:3 |
| mad/Test.java:146:10:146:30 | asFormUrlEncoded(...) : Map | mad/Test.java:147:9:147:11 | out | provenance | |
| mad/Test.java:152:26:152:52 | (...)... : RequestBody | mad/Test.java:153:10:153:11 | in : RequestBody | provenance | |
| mad/Test.java:152:45:152:52 | source(...) : Object | mad/Test.java:152:26:152:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:153:10:153:11 | in : RequestBody | mad/Test.java:153:10:153:20 | asJson(...) : JsonNode | provenance | MaD:4 |
| mad/Test.java:153:10:153:20 | asJson(...) : JsonNode | mad/Test.java:154:9:154:11 | out | provenance | |
| mad/Test.java:159:26:159:52 | (...)... : RequestBody | mad/Test.java:160:10:160:11 | in : RequestBody | provenance | |
| mad/Test.java:159:45:159:52 | source(...) : Object | mad/Test.java:159:26:159:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:160:10:160:11 | in : RequestBody | mad/Test.java:160:10:160:33 | asMultipartFormData(...) : MultipartFormData | provenance | MaD:5 |
| mad/Test.java:160:10:160:33 | asMultipartFormData(...) : MultipartFormData | mad/Test.java:161:9:161:11 | out | provenance | |
| mad/Test.java:166:26:166:52 | (...)... : RequestBody | mad/Test.java:167:10:167:11 | in : RequestBody | provenance | |
| mad/Test.java:166:45:166:52 | source(...) : Object | mad/Test.java:166:26:166:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:167:10:167:11 | in : RequestBody | mad/Test.java:167:10:167:19 | asRaw(...) : RawBuffer | provenance | MaD:6 |
| mad/Test.java:167:10:167:19 | asRaw(...) : RawBuffer | mad/Test.java:168:9:168:11 | out | provenance | |
| mad/Test.java:173:26:173:52 | (...)... : RequestBody | mad/Test.java:174:10:174:11 | in : RequestBody | provenance | |
| mad/Test.java:173:45:173:52 | source(...) : Object | mad/Test.java:173:26:173:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:174:10:174:11 | in : RequestBody | mad/Test.java:174:10:174:20 | asText(...) : String | provenance | MaD:7 |
| mad/Test.java:174:10:174:20 | asText(...) : String | mad/Test.java:175:9:175:11 | out | provenance | |
| mad/Test.java:180:26:180:52 | (...)... : RequestBody | mad/Test.java:181:10:181:11 | in : RequestBody | provenance | |
| mad/Test.java:180:45:180:52 | source(...) : Object | mad/Test.java:180:26:180:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:181:10:181:11 | in : RequestBody | mad/Test.java:181:10:181:19 | asXml(...) : Document | provenance | MaD:8 |
| mad/Test.java:181:10:181:19 | asXml(...) : Document | mad/Test.java:182:9:182:11 | out | provenance | |
| mad/Test.java:187:26:187:52 | (...)... : RequestBody | mad/Test.java:188:10:188:11 | in : RequestBody | provenance | |
| mad/Test.java:187:45:187:52 | source(...) : Object | mad/Test.java:187:26:187:52 | (...)... : RequestBody | provenance | |
| mad/Test.java:188:10:188:11 | in : RequestBody | mad/Test.java:188:10:188:27 | parseJson(...) : Optional | provenance | MaD:9 |
| mad/Test.java:188:10:188:27 | parseJson(...) : Optional | mad/Test.java:189:9:189:11 | out | provenance | |
nodes
| mad/Test.java:26:21:26:42 | (...)... : Cookie | semmle.label | (...)... : Cookie |
| mad/Test.java:26:35:26:42 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:27:10:27:11 | in : Cookie | semmle.label | in : Cookie |
| mad/Test.java:27:10:27:18 | name(...) : String | semmle.label | name(...) : String |
| mad/Test.java:28:9:28:11 | out | semmle.label | out |
| mad/Test.java:33:21:33:42 | (...)... : Cookie | semmle.label | (...)... : Cookie |
| mad/Test.java:33:35:33:42 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:34:10:34:11 | in : Cookie | semmle.label | in : Cookie |
| mad/Test.java:34:10:34:19 | value(...) : String | semmle.label | value(...) : String |
| mad/Test.java:35:9:35:11 | out | semmle.label | out |
| mad/Test.java:40:22:40:44 | (...)... : Cookies | semmle.label | (...)... : Cookies |
| mad/Test.java:40:37:40:44 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:41:10:41:11 | in : Cookies | semmle.label | in : Cookies |
| mad/Test.java:41:10:41:21 | get(...) : Cookie | semmle.label | get(...) : Cookie |
| mad/Test.java:42:9:42:11 | out | semmle.label | out |
| mad/Test.java:47:22:47:44 | (...)... : Cookies | semmle.label | (...)... : Cookies |
| mad/Test.java:47:37:47:44 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:48:10:48:11 | in : Cookies | semmle.label | in : Cookies |
| mad/Test.java:48:10:48:27 | getCookie(...) : Optional | semmle.label | getCookie(...) : Optional |
| mad/Test.java:49:9:49:11 | out | semmle.label | out |
| mad/Test.java:54:41:54:82 | (...)... : FilePart | semmle.label | (...)... : FilePart |
| mad/Test.java:54:75:54:82 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:55:10:55:11 | in : FilePart | semmle.label | in : FilePart |
| mad/Test.java:55:10:55:28 | getContentType(...) : String | semmle.label | getContentType(...) : String |
| mad/Test.java:56:9:56:11 | out | semmle.label | out |
| mad/Test.java:61:41:61:82 | (...)... : FilePart | semmle.label | (...)... : FilePart |
| mad/Test.java:61:75:61:82 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:62:10:62:11 | in : FilePart | semmle.label | in : FilePart |
| mad/Test.java:62:10:62:32 | getDispositionType(...) : String | semmle.label | getDispositionType(...) : String |
| mad/Test.java:63:9:63:11 | out | semmle.label | out |
| mad/Test.java:68:41:68:82 | (...)... : FilePart | semmle.label | (...)... : FilePart |
| mad/Test.java:68:75:68:82 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:69:10:69:11 | in : FilePart | semmle.label | in : FilePart |
| mad/Test.java:69:10:69:25 | getFilename(...) : String | semmle.label | getFilename(...) : String |
| mad/Test.java:70:9:70:11 | out | semmle.label | out |
| mad/Test.java:75:41:75:82 | (...)... : FilePart | semmle.label | (...)... : FilePart |
| mad/Test.java:75:75:75:82 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:76:10:76:11 | in : FilePart | semmle.label | in : FilePart |
| mad/Test.java:76:10:76:20 | getKey(...) : String | semmle.label | getKey(...) : String |
| mad/Test.java:77:9:77:11 | out | semmle.label | out |
| mad/Test.java:82:41:82:82 | (...)... : FilePart | semmle.label | (...)... : FilePart |
| mad/Test.java:82:75:82:82 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:83:10:83:11 | in : FilePart | semmle.label | in : FilePart |
| mad/Test.java:83:10:83:20 | getRef(...) : Object | semmle.label | getRef(...) : Object |
| mad/Test.java:84:9:84:11 | out | semmle.label | out |
| mad/Test.java:89:32:89:64 | (...)... : MultipartFormData | semmle.label | (...)... : MultipartFormData |
| mad/Test.java:89:57:89:64 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:90:10:90:11 | in : MultipartFormData | semmle.label | in : MultipartFormData |
| mad/Test.java:90:10:90:30 | asFormUrlEncoded(...) : Map | semmle.label | asFormUrlEncoded(...) : Map |
| mad/Test.java:91:9:91:11 | out | semmle.label | out |
| mad/Test.java:96:32:96:64 | (...)... : MultipartFormData | semmle.label | (...)... : MultipartFormData |
| mad/Test.java:96:57:96:64 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:97:10:97:11 | in : MultipartFormData | semmle.label | in : MultipartFormData |
| mad/Test.java:97:10:97:25 | getFile(...) : FilePart | semmle.label | getFile(...) : FilePart |
| mad/Test.java:98:9:98:11 | out | semmle.label | out |
| mad/Test.java:103:32:103:64 | (...)... : MultipartFormData | semmle.label | (...)... : MultipartFormData |
| mad/Test.java:103:57:103:64 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:104:10:104:11 | in : MultipartFormData | semmle.label | in : MultipartFormData |
| mad/Test.java:104:10:104:22 | getFiles(...) : List | semmle.label | getFiles(...) : List |
| mad/Test.java:105:9:105:11 | out | semmle.label | out |
| mad/Test.java:110:24:110:48 | (...)... : RawBuffer | semmle.label | (...)... : RawBuffer |
| mad/Test.java:110:41:110:48 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:111:10:111:11 | in : RawBuffer | semmle.label | in : RawBuffer |
| mad/Test.java:111:10:111:21 | asBytes(...) : ByteString | semmle.label | asBytes(...) : ByteString |
| mad/Test.java:112:9:112:11 | out | semmle.label | out |
| mad/Test.java:117:24:117:48 | (...)... : RawBuffer | semmle.label | (...)... : RawBuffer |
| mad/Test.java:117:41:117:48 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:118:10:118:11 | in : RawBuffer | semmle.label | in : RawBuffer |
| mad/Test.java:118:10:118:22 | asBytes(...) : ByteString | semmle.label | asBytes(...) : ByteString |
| mad/Test.java:119:9:119:11 | out | semmle.label | out |
| mad/Test.java:124:24:124:48 | (...)... : RawBuffer | semmle.label | (...)... : RawBuffer |
| mad/Test.java:124:41:124:48 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:125:10:125:11 | in : RawBuffer | semmle.label | in : RawBuffer |
| mad/Test.java:125:10:125:20 | asFile(...) : File | semmle.label | asFile(...) : File |
| mad/Test.java:126:9:126:11 | out | semmle.label | out |
| mad/Test.java:131:26:131:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:131:45:131:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:132:10:132:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:132:10:132:20 | as(...) : Object | semmle.label | as(...) : Object |
| mad/Test.java:133:9:133:11 | out | semmle.label | out |
| mad/Test.java:138:26:138:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:138:45:138:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:139:10:139:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:139:10:139:21 | asBytes(...) : ByteString | semmle.label | asBytes(...) : ByteString |
| mad/Test.java:140:9:140:11 | out | semmle.label | out |
| mad/Test.java:145:26:145:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:145:45:145:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:146:10:146:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:146:10:146:30 | asFormUrlEncoded(...) : Map | semmle.label | asFormUrlEncoded(...) : Map |
| mad/Test.java:147:9:147:11 | out | semmle.label | out |
| mad/Test.java:152:26:152:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:152:45:152:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:153:10:153:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:153:10:153:20 | asJson(...) : JsonNode | semmle.label | asJson(...) : JsonNode |
| mad/Test.java:154:9:154:11 | out | semmle.label | out |
| mad/Test.java:159:26:159:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:159:45:159:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:160:10:160:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:160:10:160:33 | asMultipartFormData(...) : MultipartFormData | semmle.label | asMultipartFormData(...) : MultipartFormData |
| mad/Test.java:161:9:161:11 | out | semmle.label | out |
| mad/Test.java:166:26:166:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:166:45:166:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:167:10:167:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:167:10:167:19 | asRaw(...) : RawBuffer | semmle.label | asRaw(...) : RawBuffer |
| mad/Test.java:168:9:168:11 | out | semmle.label | out |
| mad/Test.java:173:26:173:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:173:45:173:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:174:10:174:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:174:10:174:20 | asText(...) : String | semmle.label | asText(...) : String |
| mad/Test.java:175:9:175:11 | out | semmle.label | out |
| mad/Test.java:180:26:180:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:180:45:180:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:181:10:181:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:181:10:181:19 | asXml(...) : Document | semmle.label | asXml(...) : Document |
| mad/Test.java:182:9:182:11 | out | semmle.label | out |
| mad/Test.java:187:26:187:52 | (...)... : RequestBody | semmle.label | (...)... : RequestBody |
| mad/Test.java:187:45:187:52 | source(...) : Object | semmle.label | source(...) : Object |
| mad/Test.java:188:10:188:11 | in : RequestBody | semmle.label | in : RequestBody |
| mad/Test.java:188:10:188:27 | parseJson(...) : Optional | semmle.label | parseJson(...) : Optional |
| mad/Test.java:189:9:189:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,604 @@
models
| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 3 | Summary: java.util; List; false; of; (Object); ; Argument[0]; ReturnValue.Element; value; manual |
| 4 | Summary: java.util; Map; false; of; ; ; Argument[0]; ReturnValue.MapKey; value; manual |
| 5 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual |
| 6 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (List); ; Argument[0].Element; Argument[this].Element; value; manual |
| 7 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (Map); ; Argument[0].MapKey; Argument[this].Element.MapKey; value; manual |
| 8 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (Map); ; Argument[0].MapValue; Argument[this].Element.MapValue; value; manual |
| 9 | Summary: org.springframework.beans; MutablePropertyValues; true; MutablePropertyValues; (PropertyValues); ; Argument[0].Element; Argument[this].Element; value; manual |
| 10 | Summary: org.springframework.beans; MutablePropertyValues; true; add; (String,Object); ; Argument[this]; ReturnValue; value; manual |
| 11 | Summary: org.springframework.beans; MutablePropertyValues; true; add; (String,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual |
| 12 | Summary: org.springframework.beans; MutablePropertyValues; true; add; (String,Object); ; Argument[1]; Argument[this].Element.MapValue; value; manual |
| 13 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (PropertyValue); ; Argument[this]; ReturnValue; value; manual |
| 14 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (PropertyValue); ; Argument[0]; Argument[this].Element; value; manual |
| 15 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (String,Object); ; Argument[0]; Argument[this].Element.MapKey; value; manual |
| 16 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValue; (String,Object); ; Argument[1]; Argument[this].Element.MapValue; value; manual |
| 17 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (Map); ; Argument[this]; ReturnValue; value; manual |
| 18 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (Map); ; Argument[0].MapKey; Argument[this].Element.MapKey; value; manual |
| 19 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (Map); ; Argument[0].MapValue; Argument[this].Element.MapValue; value; manual |
| 20 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (PropertyValues); ; Argument[this]; ReturnValue; value; manual |
| 21 | Summary: org.springframework.beans; MutablePropertyValues; true; addPropertyValues; (PropertyValues); ; Argument[0].Element; Argument[this].Element; value; manual |
| 22 | Summary: org.springframework.beans; MutablePropertyValues; true; get; ; ; Argument[this].Element.MapValue; ReturnValue; value; manual |
| 23 | Summary: org.springframework.beans; MutablePropertyValues; true; getPropertyValue; ; ; Argument[this].Element; ReturnValue; value; manual |
| 24 | Summary: org.springframework.beans; MutablePropertyValues; true; getPropertyValueList; ; ; Argument[this].Element; ReturnValue.Element; value; manual |
| 25 | Summary: org.springframework.beans; MutablePropertyValues; true; getPropertyValues; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual |
| 26 | Summary: org.springframework.beans; MutablePropertyValues; true; setPropertyValueAt; ; ; Argument[0]; Argument[this].Element; value; manual |
| 27 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (PropertyValue); ; Argument[0]; Argument[this]; value; manual |
| 28 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (PropertyValue,Object); ; Argument[0].MapKey; Argument[this].MapKey; value; manual |
| 29 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (PropertyValue,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
| 30 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (String,Object); ; Argument[0]; Argument[this].MapKey; value; manual |
| 31 | Summary: org.springframework.beans; PropertyValue; false; PropertyValue; (String,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
| 32 | Summary: org.springframework.beans; PropertyValue; false; getName; ; ; Argument[this].MapKey; ReturnValue; value; manual |
| 33 | Summary: org.springframework.beans; PropertyValue; false; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual |
| 34 | Summary: org.springframework.beans; PropertyValues; true; getPropertyValue; ; ; Argument[this].Element; ReturnValue; value; manual |
| 35 | Summary: org.springframework.beans; PropertyValues; true; getPropertyValues; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual |
edges
| Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:14 | array : PropertyValue[] [[]] : PropertyValue | provenance | |
| Test.java:13:10:13:14 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | provenance | |
| Test.java:16:19:16:32 | it : List [<element>] : PropertyValue | Test.java:17:10:17:11 | it : List [<element>] : PropertyValue | provenance | |
| Test.java:17:10:17:11 | it : List [<element>] : PropertyValue | Test.java:17:10:17:22 | iterator(...) : Iterator [<element>] : PropertyValue | provenance | MaD:1 |
| Test.java:17:10:17:22 | iterator(...) : Iterator [<element>] : PropertyValue | Test.java:17:10:17:29 | next(...) : PropertyValue | provenance | MaD:2 |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : Object | provenance | |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : String | provenance | |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : Object | Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : Object | provenance | |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 |
| Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : Object | Test.java:25:10:25:18 | container : PropertyValue [<map.key>] : Object | provenance | |
| Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | Test.java:25:10:25:18 | container : PropertyValue [<map.key>] : String | provenance | |
| Test.java:25:10:25:18 | container : PropertyValue [<map.key>] : Object | Test.java:25:10:25:28 | getName(...) : String | provenance | MaD:32 |
| Test.java:25:10:25:18 | container : PropertyValue [<map.key>] : String | Test.java:25:10:25:28 | getName(...) : String | provenance | MaD:32 |
| Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:18 | container : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:29:10:29:18 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:29 | getValue(...) : Object | provenance | MaD:33 |
| Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:44:33:50 | element : PropertyValue | provenance | |
| Test.java:33:36:33:51 | of(...) : List [<element>] : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:6 |
| Test.java:33:44:33:50 | element : PropertyValue | Test.java:33:36:33:51 | of(...) : List [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:40:61:40:74 | element : Object | Test.java:41:49:41:55 | element : Object | provenance | |
| Test.java:41:36:41:56 | of(...) : Map [<map.value>] : Object | Test.java:41:10:41:57 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object | provenance | MaD:8 |
| Test.java:41:49:41:55 | element : Object | Test.java:41:36:41:56 | of(...) : Map [<map.value>] : Object | provenance | MaD:5 |
| Test.java:55:14:55:30 | of(...) : List [<element>] : Object | Test.java:56:36:56:37 | in : List [<element>] : Object | provenance | |
| Test.java:55:22:55:29 | source(...) : Object | Test.java:55:14:55:30 | of(...) : List [<element>] : Object | provenance | MaD:3 |
| Test.java:56:10:56:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : Object | Test.java:57:27:57:29 | out : MutablePropertyValues [<element>] : Object | provenance | |
| Test.java:56:36:56:37 | in : List [<element>] : Object | Test.java:56:10:56:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : Object | provenance | MaD:6 |
| Test.java:57:27:57:29 | out : MutablePropertyValues [<element>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : Object | provenance | |
| Test.java:57:27:57:29 | out : MutablePropertyValues [<element>] : Object | Test.java:57:9:57:30 | getElementDefault(...) | provenance | MaD:23 |
| Test.java:57:27:57:29 | out : MutablePropertyValues [<element>] : Object | Test.java:57:9:57:30 | getElementDefault(...) | provenance | MaD:34 |
| Test.java:62:13:62:34 | of(...) : Map [<map.key>] : Object | Test.java:63:36:63:37 | in : Map [<map.key>] : Object | provenance | |
| Test.java:62:20:62:27 | source(...) : Object | Test.java:62:13:62:34 | of(...) : Map [<map.key>] : Object | provenance | MaD:4 |
| Test.java:63:10:63:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:64:44:64:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | provenance | |
| Test.java:63:36:63:37 | in : Map [<map.key>] : Object | Test.java:63:10:63:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.key>] : Object | provenance | MaD:7 |
| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : Object | provenance | |
| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | Test.java:64:9:64:48 | getMapKeyDefault(...) | provenance | MaD:32 |
| Test.java:64:44:64:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | provenance | |
| Test.java:64:44:64:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | provenance | MaD:23 |
| Test.java:64:44:64:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | provenance | MaD:34 |
| Test.java:69:13:69:34 | of(...) : Map [<map.value>] : Object | Test.java:70:36:70:37 | in : Map [<map.value>] : Object | provenance | |
| Test.java:69:26:69:33 | source(...) : Object | Test.java:69:13:69:34 | of(...) : Map [<map.value>] : Object | provenance | MaD:5 |
| Test.java:70:10:70:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:71:46:71:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:70:36:70:37 | in : Map [<map.value>] : Object | Test.java:70:10:70:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object | provenance | MaD:8 |
| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:71:9:71:50 | getMapValueDefault(...) | provenance | MaD:33 |
| Test.java:71:46:71:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:71:46:71:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:23 |
| Test.java:71:46:71:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:34 |
| Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:77:36:77:37 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:76:60:76:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:76:60:76:83 | (...)... : PropertyValue | Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:76:76:76:83 | source(...) : Object | Test.java:76:60:76:83 | (...)... : PropertyValue | provenance | |
| Test.java:77:10:77:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:78:27:78:29 | out : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:77:36:77:37 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:77:10:77:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:9 |
| Test.java:78:27:78:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:78:27:78:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | provenance | MaD:23 |
| Test.java:78:27:78:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) | provenance | MaD:34 |
| Test.java:83:31:83:62 | (...)... : MutablePropertyValues | Test.java:84:10:84:11 | in : MutablePropertyValues | provenance | |
| Test.java:83:55:83:62 | source(...) : Object | Test.java:83:31:83:62 | (...)... : MutablePropertyValues | provenance | |
| Test.java:84:10:84:11 | in : MutablePropertyValues | Test.java:84:10:84:27 | add(...) : MutablePropertyValues | provenance | MaD:10 |
| Test.java:84:10:84:27 | add(...) : MutablePropertyValues | Test.java:85:9:85:11 | out | provenance | |
| Test.java:90:16:90:32 | (...)... : String | Test.java:91:12:91:13 | in : String | provenance | |
| Test.java:90:25:90:32 | source(...) : Object | Test.java:90:16:90:32 | (...)... : String | provenance | |
| Test.java:91:4:91:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : String | Test.java:92:44:92:46 | out : MutablePropertyValues [<element>, <map.key>] : String | provenance | |
| Test.java:91:12:91:13 | in : String | Test.java:91:4:91:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : String | provenance | MaD:11 |
| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | provenance | |
| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | Test.java:92:9:92:48 | getMapKeyDefault(...) | provenance | MaD:32 |
| Test.java:92:44:92:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | provenance | |
| Test.java:92:44:92:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | provenance | MaD:23 |
| Test.java:92:44:92:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | provenance | MaD:34 |
| Test.java:97:16:97:32 | (...)... : Object | Test.java:98:18:98:19 | in : Object | provenance | |
| Test.java:97:25:97:32 | source(...) : Object | Test.java:97:16:97:32 | (...)... : Object | provenance | |
| Test.java:98:4:98:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:99:46:99:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:98:18:98:19 | in : Object | Test.java:98:4:98:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | provenance | MaD:12 |
| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:99:9:99:50 | getMapValueDefault(...) | provenance | MaD:33 |
| Test.java:99:46:99:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:99:46:99:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:23 |
| Test.java:99:46:99:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:34 |
| Test.java:104:31:104:62 | (...)... : MutablePropertyValues | Test.java:105:10:105:11 | in : MutablePropertyValues | provenance | |
| Test.java:104:55:104:62 | source(...) : Object | Test.java:104:31:104:62 | (...)... : MutablePropertyValues | provenance | |
| Test.java:105:10:105:11 | in : MutablePropertyValues | Test.java:105:10:105:34 | addPropertyValue(...) : MutablePropertyValues | provenance | MaD:13 |
| Test.java:105:10:105:34 | addPropertyValue(...) : MutablePropertyValues | Test.java:106:9:106:11 | out | provenance | |
| Test.java:111:23:111:46 | (...)... : PropertyValue | Test.java:112:25:112:26 | in : PropertyValue | provenance | |
| Test.java:111:39:111:46 | source(...) : Object | Test.java:111:23:111:46 | (...)... : PropertyValue | provenance | |
| Test.java:112:4:112:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | Test.java:113:27:113:29 | out : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:112:25:112:26 | in : PropertyValue | Test.java:112:4:112:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:14 |
| Test.java:113:27:113:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:113:27:113:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | provenance | MaD:23 |
| Test.java:113:27:113:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) | provenance | MaD:34 |
| Test.java:118:16:118:32 | (...)... : String | Test.java:119:25:119:26 | in : String | provenance | |
| Test.java:118:25:118:32 | source(...) : Object | Test.java:118:16:118:32 | (...)... : String | provenance | |
| Test.java:119:4:119:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : String | Test.java:120:44:120:46 | out : MutablePropertyValues [<element>, <map.key>] : String | provenance | |
| Test.java:119:25:119:26 | in : String | Test.java:119:4:119:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : String | provenance | MaD:15 |
| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | provenance | |
| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | Test.java:120:9:120:48 | getMapKeyDefault(...) | provenance | MaD:32 |
| Test.java:120:44:120:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | provenance | |
| Test.java:120:44:120:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | provenance | MaD:23 |
| Test.java:120:44:120:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | provenance | MaD:34 |
| Test.java:125:16:125:32 | (...)... : Object | Test.java:126:31:126:32 | in : Object | provenance | |
| Test.java:125:25:125:32 | source(...) : Object | Test.java:125:16:125:32 | (...)... : Object | provenance | |
| Test.java:126:4:126:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:127:46:127:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:126:31:126:32 | in : Object | Test.java:126:4:126:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | provenance | MaD:16 |
| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:127:9:127:50 | getMapValueDefault(...) | provenance | MaD:33 |
| Test.java:127:46:127:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:127:46:127:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:23 |
| Test.java:127:46:127:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:34 |
| Test.java:132:31:132:62 | (...)... : MutablePropertyValues | Test.java:133:10:133:11 | in : MutablePropertyValues | provenance | |
| Test.java:132:55:132:62 | source(...) : Object | Test.java:132:31:132:62 | (...)... : MutablePropertyValues | provenance | |
| Test.java:133:10:133:11 | in : MutablePropertyValues | Test.java:133:10:133:41 | addPropertyValues(...) : MutablePropertyValues | provenance | MaD:17 |
| Test.java:133:10:133:41 | addPropertyValues(...) : MutablePropertyValues | Test.java:134:9:134:11 | out | provenance | |
| Test.java:139:13:139:34 | of(...) : Map [<map.key>] : Object | Test.java:140:26:140:27 | in : Map [<map.key>] : Object | provenance | |
| Test.java:139:20:139:27 | source(...) : Object | Test.java:139:13:139:34 | of(...) : Map [<map.key>] : Object | provenance | MaD:4 |
| Test.java:140:4:140:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:141:44:141:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | provenance | |
| Test.java:140:26:140:27 | in : Map [<map.key>] : Object | Test.java:140:4:140:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : Object | provenance | MaD:18 |
| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : Object | provenance | |
| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | Test.java:141:9:141:48 | getMapKeyDefault(...) | provenance | MaD:32 |
| Test.java:141:44:141:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | provenance | |
| Test.java:141:44:141:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | provenance | MaD:23 |
| Test.java:141:44:141:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | provenance | MaD:34 |
| Test.java:146:13:146:34 | of(...) : Map [<map.value>] : Object | Test.java:147:26:147:27 | in : Map [<map.value>] : Object | provenance | |
| Test.java:146:26:146:33 | source(...) : Object | Test.java:146:13:146:34 | of(...) : Map [<map.value>] : Object | provenance | MaD:5 |
| Test.java:147:4:147:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:148:46:148:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:147:26:147:27 | in : Map [<map.value>] : Object | Test.java:147:4:147:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | provenance | MaD:19 |
| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:148:9:148:50 | getMapValueDefault(...) | provenance | MaD:33 |
| Test.java:148:46:148:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:148:46:148:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:23 |
| Test.java:148:46:148:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | provenance | MaD:34 |
| Test.java:153:31:153:62 | (...)... : MutablePropertyValues | Test.java:154:10:154:11 | in : MutablePropertyValues | provenance | |
| Test.java:153:55:153:62 | source(...) : Object | Test.java:153:31:153:62 | (...)... : MutablePropertyValues | provenance | |
| Test.java:154:10:154:11 | in : MutablePropertyValues | Test.java:154:10:154:52 | addPropertyValues(...) : MutablePropertyValues | provenance | MaD:20 |
| Test.java:154:10:154:52 | addPropertyValues(...) : MutablePropertyValues | Test.java:155:9:155:11 | out | provenance | |
| Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:161:26:161:27 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:160:60:160:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:160:60:160:83 | (...)... : PropertyValue | Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:160:76:160:83 | source(...) : Object | Test.java:160:60:160:83 | (...)... : PropertyValue | provenance | |
| Test.java:161:4:161:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | Test.java:162:27:162:29 | out : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:161:26:161:27 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:161:4:161:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:21 |
| Test.java:162:27:162:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:162:27:162:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | provenance | MaD:23 |
| Test.java:162:27:162:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) | provenance | MaD:34 |
| Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:168:10:168:11 | in : MutablePropertyValues [<element>, <map.value>] : Object | provenance | |
| Test.java:167:68:167:75 | source(...) : Object | Test.java:40:61:40:74 | element : Object | provenance | |
| Test.java:167:68:167:75 | source(...) : Object | Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [<element>, <map.value>] : Object | provenance | MaD:5 |
| Test.java:168:10:168:11 | in : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:168:10:168:21 | get(...) : Object | provenance | MaD:22 |
| Test.java:168:10:168:21 | get(...) : Object | Test.java:169:9:169:11 | out | provenance | |
| Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:176:10:176:11 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:175:42:175:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:175:42:175:65 | (...)... : PropertyValue | Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:175:58:175:65 | source(...) : Object | Test.java:175:42:175:65 | (...)... : PropertyValue | provenance | |
| Test.java:176:10:176:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 |
| Test.java:176:10:176:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 |
| Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | Test.java:177:9:177:11 | out | provenance | |
| Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:184:10:184:11 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:183:42:183:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:183:42:183:65 | (...)... : PropertyValue | Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:183:58:183:65 | source(...) : Object | Test.java:183:42:183:65 | (...)... : PropertyValue | provenance | |
| Test.java:184:10:184:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:184:10:184:34 | getPropertyValueList(...) : List [<element>] : PropertyValue | provenance | MaD:24 |
| Test.java:184:10:184:34 | getPropertyValueList(...) : List [<element>] : PropertyValue | Test.java:185:20:185:22 | out : List [<element>] : PropertyValue | provenance | |
| Test.java:185:20:185:22 | out : List [<element>] : PropertyValue | Test.java:16:19:16:32 | it : List [<element>] : PropertyValue | provenance | |
| Test.java:185:20:185:22 | out : List [<element>] : PropertyValue | Test.java:185:9:185:23 | getElement(...) | provenance | MaD:1 |
| Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:192:10:192:11 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:191:42:191:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:191:42:191:65 | (...)... : PropertyValue | Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:191:58:191:65 | source(...) : Object | Test.java:191:42:191:65 | (...)... : PropertyValue | provenance | |
| Test.java:192:10:192:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:25 |
| Test.java:192:10:192:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:35 |
| Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | provenance | |
| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | provenance | |
| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:193:9:193:28 | getArrayElement(...) | provenance | |
| Test.java:198:23:198:46 | (...)... : PropertyValue | Test.java:199:27:199:28 | in : PropertyValue | provenance | |
| Test.java:198:39:198:46 | source(...) : Object | Test.java:198:23:198:46 | (...)... : PropertyValue | provenance | |
| Test.java:199:4:199:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | Test.java:200:27:200:29 | out : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:199:27:199:28 | in : PropertyValue | Test.java:199:4:199:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:26 |
| Test.java:200:27:200:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:200:27:200:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | provenance | MaD:23 |
| Test.java:200:27:200:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) | provenance | MaD:34 |
| Test.java:205:23:205:46 | (...)... : PropertyValue | Test.java:206:28:206:29 | in : PropertyValue | provenance | |
| Test.java:205:39:205:46 | source(...) : Object | Test.java:205:23:205:46 | (...)... : PropertyValue | provenance | |
| Test.java:206:10:206:30 | new PropertyValue(...) : PropertyValue | Test.java:207:9:207:11 | out | provenance | |
| Test.java:206:28:206:29 | in : PropertyValue | Test.java:206:10:206:30 | new PropertyValue(...) : PropertyValue | provenance | MaD:27 |
| Test.java:212:23:212:89 | new PropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:213:28:213:29 | in : PropertyValue [<map.key>] : String | provenance | |
| Test.java:212:41:212:82 | new PropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:212:23:212:89 | new PropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:28 |
| Test.java:212:59:212:75 | (...)... : String | Test.java:212:41:212:82 | new PropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:30 |
| Test.java:212:68:212:75 | source(...) : Object | Test.java:212:59:212:75 | (...)... : String | provenance | |
| Test.java:213:10:213:45 | new PropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:214:26:214:28 | out : PropertyValue [<map.key>] : String | provenance | |
| Test.java:213:28:213:29 | in : PropertyValue [<map.key>] : String | Test.java:213:10:213:45 | new PropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:28 |
| Test.java:214:26:214:28 | out : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | provenance | |
| Test.java:214:26:214:28 | out : PropertyValue [<map.key>] : String | Test.java:214:9:214:29 | getMapKeyDefault(...) | provenance | MaD:32 |
| Test.java:219:16:219:32 | (...)... : Object | Test.java:220:50:220:51 | in : Object | provenance | |
| Test.java:219:25:219:32 | source(...) : Object | Test.java:219:16:219:32 | (...)... : Object | provenance | |
| Test.java:220:10:220:52 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:221:28:221:30 | out : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:220:50:220:51 | in : Object | Test.java:220:10:220:52 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | provenance | MaD:29 |
| Test.java:221:28:221:30 | out : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:221:28:221:30 | out : PropertyValue [<map.value>] : Object | Test.java:221:9:221:31 | getMapValueDefault(...) | provenance | MaD:33 |
| Test.java:226:16:226:32 | (...)... : String | Test.java:227:28:227:29 | in : String | provenance | |
| Test.java:226:25:226:32 | source(...) : Object | Test.java:226:16:226:32 | (...)... : String | provenance | |
| Test.java:227:10:227:45 | new PropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:228:26:228:28 | out : PropertyValue [<map.key>] : String | provenance | |
| Test.java:227:28:227:29 | in : String | Test.java:227:10:227:45 | new PropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:30 |
| Test.java:228:26:228:28 | out : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | provenance | |
| Test.java:228:26:228:28 | out : PropertyValue [<map.key>] : String | Test.java:228:9:228:29 | getMapKeyDefault(...) | provenance | MaD:32 |
| Test.java:233:16:233:32 | (...)... : Object | Test.java:234:43:234:44 | in : Object | provenance | |
| Test.java:233:25:233:32 | source(...) : Object | Test.java:233:16:233:32 | (...)... : Object | provenance | |
| Test.java:234:10:234:45 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:235:28:235:30 | out : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:234:43:234:44 | in : Object | Test.java:234:10:234:45 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | provenance | MaD:31 |
| Test.java:235:28:235:30 | out : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:235:28:235:30 | out : PropertyValue [<map.value>] : Object | Test.java:235:9:235:31 | getMapValueDefault(...) | provenance | MaD:33 |
| Test.java:240:23:240:64 | new PropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:241:10:241:11 | in : PropertyValue [<map.key>] : String | provenance | |
| Test.java:240:41:240:57 | (...)... : String | Test.java:240:23:240:64 | new PropertyValue(...) : PropertyValue [<map.key>] : String | provenance | MaD:30 |
| Test.java:240:50:240:57 | source(...) : Object | Test.java:240:41:240:57 | (...)... : String | provenance | |
| Test.java:241:10:241:11 | in : PropertyValue [<map.key>] : String | Test.java:241:10:241:21 | getName(...) : String | provenance | MaD:32 |
| Test.java:241:10:241:21 | getName(...) : String | Test.java:242:9:242:11 | out | provenance | |
| Test.java:247:23:247:53 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:248:10:248:11 | in : PropertyValue [<map.value>] : Object | provenance | |
| Test.java:247:45:247:52 | source(...) : Object | Test.java:247:23:247:53 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | provenance | MaD:31 |
| Test.java:248:10:248:11 | in : PropertyValue [<map.value>] : Object | Test.java:248:10:248:22 | getValue(...) : Object | provenance | MaD:33 |
| Test.java:248:10:248:22 | getValue(...) : Object | Test.java:249:9:249:11 | out | provenance | |
| Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:256:10:256:11 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:255:42:255:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:255:42:255:65 | (...)... : PropertyValue | Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:255:58:255:65 | source(...) : Object | Test.java:255:42:255:65 | (...)... : PropertyValue | provenance | |
| Test.java:256:10:256:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:23 |
| Test.java:256:10:256:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 |
| Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | Test.java:257:9:257:11 | out | provenance | |
| Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:263:10:263:11 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:262:60:262:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:262:60:262:83 | (...)... : PropertyValue | Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:262:76:262:83 | source(...) : Object | Test.java:262:60:262:83 | (...)... : PropertyValue | provenance | |
| Test.java:263:10:263:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:263:10:263:34 | getPropertyValue(...) : PropertyValue | provenance | MaD:34 |
| Test.java:263:10:263:34 | getPropertyValue(...) : PropertyValue | Test.java:264:9:264:11 | out | provenance | |
| Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:271:10:271:11 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:270:42:270:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:270:42:270:65 | (...)... : PropertyValue | Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:270:58:270:65 | source(...) : Object | Test.java:270:42:270:65 | (...)... : PropertyValue | provenance | |
| Test.java:271:10:271:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:25 |
| Test.java:271:10:271:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:35 |
| Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | provenance | |
| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | provenance | |
| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:272:9:272:28 | getArrayElement(...) | provenance | |
| Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:278:10:278:11 | in : MutablePropertyValues [<element>] : PropertyValue | provenance | |
| Test.java:277:60:277:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | provenance | |
| Test.java:277:60:277:83 | (...)... : PropertyValue | Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:3 |
| Test.java:277:76:277:83 | source(...) : Object | Test.java:277:60:277:83 | (...)... : PropertyValue | provenance | |
| Test.java:278:10:278:11 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:278:10:278:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | provenance | MaD:35 |
| Test.java:278:10:278:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | provenance | |
| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | provenance | |
| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:279:9:279:28 | getArrayElement(...) | provenance | |
nodes
| Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | semmle.label | array : PropertyValue[] [[]] : PropertyValue |
| Test.java:13:10:13:14 | array : PropertyValue[] [[]] : PropertyValue | semmle.label | array : PropertyValue[] [[]] : PropertyValue |
| Test.java:13:10:13:17 | ...[...] : PropertyValue | semmle.label | ...[...] : PropertyValue |
| Test.java:16:19:16:32 | it : List [<element>] : PropertyValue | semmle.label | it : List [<element>] : PropertyValue |
| Test.java:17:10:17:11 | it : List [<element>] : PropertyValue | semmle.label | it : List [<element>] : PropertyValue |
| Test.java:17:10:17:22 | iterator(...) : Iterator [<element>] : PropertyValue | semmle.label | iterator(...) : Iterator [<element>] : PropertyValue |
| Test.java:17:10:17:29 | next(...) : PropertyValue | semmle.label | next(...) : PropertyValue |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | semmle.label | container : MutablePropertyValues [<element>, <map.key>] : Object |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | semmle.label | container : MutablePropertyValues [<element>, <map.key>] : String |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | container : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : Object | semmle.label | container : MutablePropertyValues [<element>] : Object |
| Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | semmle.label | container : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : Object | semmle.label | container : MutablePropertyValues [<element>, <map.key>] : Object |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.key>] : String | semmle.label | container : MutablePropertyValues [<element>, <map.key>] : String |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | container : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : Object | semmle.label | container : MutablePropertyValues [<element>] : Object |
| Test.java:21:10:21:18 | container : MutablePropertyValues [<element>] : PropertyValue | semmle.label | container : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | semmle.label | getPropertyValue(...) : PropertyValue [<map.key>] : Object |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | semmle.label | getPropertyValue(...) : PropertyValue [<map.key>] : Object |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | semmle.label | getPropertyValue(...) : PropertyValue [<map.key>] : String |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | semmle.label | getPropertyValue(...) : PropertyValue [<map.key>] : String |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | semmle.label | getPropertyValue(...) : PropertyValue [<map.value>] : Object |
| Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | semmle.label | getPropertyValue(...) : PropertyValue [<map.value>] : Object |
| Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : Object | semmle.label | container : PropertyValue [<map.key>] : Object |
| Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | semmle.label | container : PropertyValue [<map.key>] : String |
| Test.java:25:10:25:18 | container : PropertyValue [<map.key>] : Object | semmle.label | container : PropertyValue [<map.key>] : Object |
| Test.java:25:10:25:18 | container : PropertyValue [<map.key>] : String | semmle.label | container : PropertyValue [<map.key>] : String |
| Test.java:25:10:25:28 | getName(...) : String | semmle.label | getName(...) : String |
| Test.java:25:10:25:28 | getName(...) : String | semmle.label | getName(...) : String |
| Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | semmle.label | container : PropertyValue [<map.value>] : Object |
| Test.java:29:10:29:18 | container : PropertyValue [<map.value>] : Object | semmle.label | container : PropertyValue [<map.value>] : Object |
| Test.java:29:10:29:29 | getValue(...) : Object | semmle.label | getValue(...) : Object |
| Test.java:32:60:32:80 | element : PropertyValue | semmle.label | element : PropertyValue |
| Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:33:36:33:51 | of(...) : List [<element>] : PropertyValue | semmle.label | of(...) : List [<element>] : PropertyValue |
| Test.java:33:44:33:50 | element : PropertyValue | semmle.label | element : PropertyValue |
| Test.java:40:61:40:74 | element : Object | semmle.label | element : Object |
| Test.java:41:10:41:57 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:41:36:41:56 | of(...) : Map [<map.value>] : Object | semmle.label | of(...) : Map [<map.value>] : Object |
| Test.java:41:49:41:55 | element : Object | semmle.label | element : Object |
| Test.java:55:14:55:30 | of(...) : List [<element>] : Object | semmle.label | of(...) : List [<element>] : Object |
| Test.java:55:22:55:29 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:56:10:56:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : Object |
| Test.java:56:36:56:37 | in : List [<element>] : Object | semmle.label | in : List [<element>] : Object |
| Test.java:57:9:57:30 | getElementDefault(...) | semmle.label | getElementDefault(...) |
| Test.java:57:27:57:29 | out : MutablePropertyValues [<element>] : Object | semmle.label | out : MutablePropertyValues [<element>] : Object |
| Test.java:62:13:62:34 | of(...) : Map [<map.key>] : Object | semmle.label | of(...) : Map [<map.key>] : Object |
| Test.java:62:20:62:27 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:63:10:63:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.key>] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.key>] : Object |
| Test.java:63:36:63:37 | in : Map [<map.key>] : Object | semmle.label | in : Map [<map.key>] : Object |
| Test.java:64:9:64:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | semmle.label | getElementDefault(...) : PropertyValue [<map.key>] : Object |
| Test.java:64:44:64:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | semmle.label | out : MutablePropertyValues [<element>, <map.key>] : Object |
| Test.java:69:13:69:34 | of(...) : Map [<map.value>] : Object | semmle.label | of(...) : Map [<map.value>] : Object |
| Test.java:69:26:69:33 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:70:10:70:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:70:36:70:37 | in : Map [<map.value>] : Object | semmle.label | in : Map [<map.value>] : Object |
| Test.java:71:9:71:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | semmle.label | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:71:46:71:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | out : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:76:60:76:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:76:76:76:83 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:77:10:77:38 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:77:36:77:37 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:78:9:78:30 | getElementDefault(...) | semmle.label | getElementDefault(...) |
| Test.java:78:27:78:29 | out : MutablePropertyValues [<element>] : PropertyValue | semmle.label | out : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:83:31:83:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues |
| Test.java:83:55:83:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:84:10:84:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues |
| Test.java:84:10:84:27 | add(...) : MutablePropertyValues | semmle.label | add(...) : MutablePropertyValues |
| Test.java:85:9:85:11 | out | semmle.label | out |
| Test.java:90:16:90:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:90:25:90:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:91:4:91:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : String | semmle.label | out [post update] : MutablePropertyValues [<element>, <map.key>] : String |
| Test.java:91:12:91:13 | in : String | semmle.label | in : String |
| Test.java:92:9:92:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | semmle.label | getElementDefault(...) : PropertyValue [<map.key>] : String |
| Test.java:92:44:92:46 | out : MutablePropertyValues [<element>, <map.key>] : String | semmle.label | out : MutablePropertyValues [<element>, <map.key>] : String |
| Test.java:97:16:97:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:97:25:97:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:98:4:98:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:98:18:98:19 | in : Object | semmle.label | in : Object |
| Test.java:99:9:99:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | semmle.label | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:99:46:99:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | out : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:104:31:104:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues |
| Test.java:104:55:104:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:105:10:105:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues |
| Test.java:105:10:105:34 | addPropertyValue(...) : MutablePropertyValues | semmle.label | addPropertyValue(...) : MutablePropertyValues |
| Test.java:106:9:106:11 | out | semmle.label | out |
| Test.java:111:23:111:46 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:111:39:111:46 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:112:4:112:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | semmle.label | out [post update] : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:112:25:112:26 | in : PropertyValue | semmle.label | in : PropertyValue |
| Test.java:113:9:113:30 | getElementDefault(...) | semmle.label | getElementDefault(...) |
| Test.java:113:27:113:29 | out : MutablePropertyValues [<element>] : PropertyValue | semmle.label | out : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:118:16:118:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:118:25:118:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:119:4:119:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : String | semmle.label | out [post update] : MutablePropertyValues [<element>, <map.key>] : String |
| Test.java:119:25:119:26 | in : String | semmle.label | in : String |
| Test.java:120:9:120:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | semmle.label | getElementDefault(...) : PropertyValue [<map.key>] : String |
| Test.java:120:44:120:46 | out : MutablePropertyValues [<element>, <map.key>] : String | semmle.label | out : MutablePropertyValues [<element>, <map.key>] : String |
| Test.java:125:16:125:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:125:25:125:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:126:4:126:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:126:31:126:32 | in : Object | semmle.label | in : Object |
| Test.java:127:9:127:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | semmle.label | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:127:46:127:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | out : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:132:31:132:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues |
| Test.java:132:55:132:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:133:10:133:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues |
| Test.java:133:10:133:41 | addPropertyValues(...) : MutablePropertyValues | semmle.label | addPropertyValues(...) : MutablePropertyValues |
| Test.java:134:9:134:11 | out | semmle.label | out |
| Test.java:139:13:139:34 | of(...) : Map [<map.key>] : Object | semmle.label | of(...) : Map [<map.key>] : Object |
| Test.java:139:20:139:27 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:140:4:140:6 | out [post update] : MutablePropertyValues [<element>, <map.key>] : Object | semmle.label | out [post update] : MutablePropertyValues [<element>, <map.key>] : Object |
| Test.java:140:26:140:27 | in : Map [<map.key>] : Object | semmle.label | in : Map [<map.key>] : Object |
| Test.java:141:9:141:48 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | semmle.label | getElementDefault(...) : PropertyValue [<map.key>] : Object |
| Test.java:141:44:141:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | semmle.label | out : MutablePropertyValues [<element>, <map.key>] : Object |
| Test.java:146:13:146:34 | of(...) : Map [<map.value>] : Object | semmle.label | of(...) : Map [<map.value>] : Object |
| Test.java:146:26:146:33 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:147:4:147:6 | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | out [post update] : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:147:26:147:27 | in : Map [<map.value>] : Object | semmle.label | in : Map [<map.value>] : Object |
| Test.java:148:9:148:50 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | semmle.label | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:148:46:148:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | out : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:153:31:153:62 | (...)... : MutablePropertyValues | semmle.label | (...)... : MutablePropertyValues |
| Test.java:153:55:153:62 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:154:10:154:11 | in : MutablePropertyValues | semmle.label | in : MutablePropertyValues |
| Test.java:154:10:154:52 | addPropertyValues(...) : MutablePropertyValues | semmle.label | addPropertyValues(...) : MutablePropertyValues |
| Test.java:155:9:155:11 | out | semmle.label | out |
| Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:160:60:160:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:160:76:160:83 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:161:4:161:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | semmle.label | out [post update] : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:161:26:161:27 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:162:9:162:30 | getElementDefault(...) | semmle.label | getElementDefault(...) |
| Test.java:162:27:162:29 | out : MutablePropertyValues [<element>] : PropertyValue | semmle.label | out : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:167:68:167:75 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:168:10:168:11 | in : MutablePropertyValues [<element>, <map.value>] : Object | semmle.label | in : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:168:10:168:21 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:169:9:169:11 | out | semmle.label | out |
| Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:175:42:175:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:175:58:175:65 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:176:10:176:11 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:176:10:176:34 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue |
| Test.java:177:9:177:11 | out | semmle.label | out |
| Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:183:42:183:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:183:58:183:65 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:184:10:184:11 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:184:10:184:34 | getPropertyValueList(...) : List [<element>] : PropertyValue | semmle.label | getPropertyValueList(...) : List [<element>] : PropertyValue |
| Test.java:185:9:185:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:185:20:185:22 | out : List [<element>] : PropertyValue | semmle.label | out : List [<element>] : PropertyValue |
| Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:191:42:191:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:191:58:191:65 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:192:10:192:11 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:192:10:192:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | semmle.label | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue |
| Test.java:193:9:193:28 | getArrayElement(...) | semmle.label | getArrayElement(...) |
| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | semmle.label | out : PropertyValue[] [[]] : PropertyValue |
| Test.java:198:23:198:46 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:198:39:198:46 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:199:4:199:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | semmle.label | out [post update] : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:199:27:199:28 | in : PropertyValue | semmle.label | in : PropertyValue |
| Test.java:200:9:200:30 | getElementDefault(...) | semmle.label | getElementDefault(...) |
| Test.java:200:27:200:29 | out : MutablePropertyValues [<element>] : PropertyValue | semmle.label | out : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:205:23:205:46 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:205:39:205:46 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:206:10:206:30 | new PropertyValue(...) : PropertyValue | semmle.label | new PropertyValue(...) : PropertyValue |
| Test.java:206:28:206:29 | in : PropertyValue | semmle.label | in : PropertyValue |
| Test.java:207:9:207:11 | out | semmle.label | out |
| Test.java:212:23:212:89 | new PropertyValue(...) : PropertyValue [<map.key>] : String | semmle.label | new PropertyValue(...) : PropertyValue [<map.key>] : String |
| Test.java:212:41:212:82 | new PropertyValue(...) : PropertyValue [<map.key>] : String | semmle.label | new PropertyValue(...) : PropertyValue [<map.key>] : String |
| Test.java:212:59:212:75 | (...)... : String | semmle.label | (...)... : String |
| Test.java:212:68:212:75 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:213:10:213:45 | new PropertyValue(...) : PropertyValue [<map.key>] : String | semmle.label | new PropertyValue(...) : PropertyValue [<map.key>] : String |
| Test.java:213:28:213:29 | in : PropertyValue [<map.key>] : String | semmle.label | in : PropertyValue [<map.key>] : String |
| Test.java:214:9:214:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:214:26:214:28 | out : PropertyValue [<map.key>] : String | semmle.label | out : PropertyValue [<map.key>] : String |
| Test.java:219:16:219:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:219:25:219:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:220:10:220:52 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | semmle.label | new PropertyValue(...) : PropertyValue [<map.value>] : Object |
| Test.java:220:50:220:51 | in : Object | semmle.label | in : Object |
| Test.java:221:9:221:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:221:28:221:30 | out : PropertyValue [<map.value>] : Object | semmle.label | out : PropertyValue [<map.value>] : Object |
| Test.java:226:16:226:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:226:25:226:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:227:10:227:45 | new PropertyValue(...) : PropertyValue [<map.key>] : String | semmle.label | new PropertyValue(...) : PropertyValue [<map.key>] : String |
| Test.java:227:28:227:29 | in : String | semmle.label | in : String |
| Test.java:228:9:228:29 | getMapKeyDefault(...) | semmle.label | getMapKeyDefault(...) |
| Test.java:228:26:228:28 | out : PropertyValue [<map.key>] : String | semmle.label | out : PropertyValue [<map.key>] : String |
| Test.java:233:16:233:32 | (...)... : Object | semmle.label | (...)... : Object |
| Test.java:233:25:233:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:234:10:234:45 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | semmle.label | new PropertyValue(...) : PropertyValue [<map.value>] : Object |
| Test.java:234:43:234:44 | in : Object | semmle.label | in : Object |
| Test.java:235:9:235:31 | getMapValueDefault(...) | semmle.label | getMapValueDefault(...) |
| Test.java:235:28:235:30 | out : PropertyValue [<map.value>] : Object | semmle.label | out : PropertyValue [<map.value>] : Object |
| Test.java:240:23:240:64 | new PropertyValue(...) : PropertyValue [<map.key>] : String | semmle.label | new PropertyValue(...) : PropertyValue [<map.key>] : String |
| Test.java:240:41:240:57 | (...)... : String | semmle.label | (...)... : String |
| Test.java:240:50:240:57 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:241:10:241:11 | in : PropertyValue [<map.key>] : String | semmle.label | in : PropertyValue [<map.key>] : String |
| Test.java:241:10:241:21 | getName(...) : String | semmle.label | getName(...) : String |
| Test.java:242:9:242:11 | out | semmle.label | out |
| Test.java:247:23:247:53 | new PropertyValue(...) : PropertyValue [<map.value>] : Object | semmle.label | new PropertyValue(...) : PropertyValue [<map.value>] : Object |
| Test.java:247:45:247:52 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:248:10:248:11 | in : PropertyValue [<map.value>] : Object | semmle.label | in : PropertyValue [<map.value>] : Object |
| Test.java:248:10:248:22 | getValue(...) : Object | semmle.label | getValue(...) : Object |
| Test.java:249:9:249:11 | out | semmle.label | out |
| Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:255:42:255:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:255:58:255:65 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:256:10:256:11 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:256:10:256:34 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue |
| Test.java:257:9:257:11 | out | semmle.label | out |
| Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:262:60:262:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:262:76:262:83 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:263:10:263:11 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:263:10:263:34 | getPropertyValue(...) : PropertyValue | semmle.label | getPropertyValue(...) : PropertyValue |
| Test.java:264:9:264:11 | out | semmle.label | out |
| Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:270:42:270:65 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:270:58:270:65 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:271:10:271:11 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:271:10:271:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | semmle.label | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue |
| Test.java:272:9:272:28 | getArrayElement(...) | semmle.label | getArrayElement(...) |
| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | semmle.label | out : PropertyValue[] [[]] : PropertyValue |
| Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue | semmle.label | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:277:60:277:83 | (...)... : PropertyValue | semmle.label | (...)... : PropertyValue |
| Test.java:277:76:277:83 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:278:10:278:11 | in : MutablePropertyValues [<element>] : PropertyValue | semmle.label | in : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:278:10:278:31 | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue | semmle.label | getPropertyValues(...) : PropertyValue[] [[]] : PropertyValue |
| Test.java:279:9:279:28 | getArrayElement(...) | semmle.label | getArrayElement(...) |
| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | semmle.label | out : PropertyValue[] [[]] : PropertyValue |
subpaths
| Test.java:57:27:57:29 | out : MutablePropertyValues [<element>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:57:9:57:30 | getElementDefault(...) |
| Test.java:57:27:57:29 | out : MutablePropertyValues [<element>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:57:9:57:30 | getElementDefault(...) |
| Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : Object | Test.java:25:10:25:28 | getName(...) : String | Test.java:64:9:64:48 | getMapKeyDefault(...) |
| Test.java:64:44:64:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object |
| Test.java:64:44:64:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | Test.java:64:26:64:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object |
| Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:71:9:71:50 | getMapValueDefault(...) |
| Test.java:71:46:71:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:71:46:71:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:71:28:71:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:76:60:76:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:76:24:76:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:78:27:78:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) |
| Test.java:78:27:78:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:78:9:78:30 | getElementDefault(...) |
| Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:92:9:92:48 | getMapKeyDefault(...) |
| Test.java:92:44:92:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String |
| Test.java:92:44:92:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:92:26:92:47 | getElementDefault(...) : PropertyValue [<map.key>] : String |
| Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:99:9:99:50 | getMapValueDefault(...) |
| Test.java:99:46:99:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:99:46:99:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:99:28:99:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:113:27:113:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) |
| Test.java:113:27:113:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:113:9:113:30 | getElementDefault(...) |
| Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:120:9:120:48 | getMapKeyDefault(...) |
| Test.java:120:44:120:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String |
| Test.java:120:44:120:46 | out : MutablePropertyValues [<element>, <map.key>] : String | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : String | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : String | Test.java:120:26:120:47 | getElementDefault(...) : PropertyValue [<map.key>] : String |
| Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:127:9:127:50 | getMapValueDefault(...) |
| Test.java:127:46:127:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:127:46:127:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:127:28:127:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : Object | Test.java:25:10:25:28 | getName(...) : String | Test.java:141:9:141:48 | getMapKeyDefault(...) |
| Test.java:141:44:141:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object |
| Test.java:141:44:141:46 | out : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.key>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.key>] : Object | Test.java:141:26:141:47 | getElementDefault(...) : PropertyValue [<map.key>] : Object |
| Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:148:9:148:50 | getMapValueDefault(...) |
| Test.java:148:46:148:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:148:46:148:48 | out : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue [<map.value>] : Object | Test.java:148:28:148:49 | getElementDefault(...) : PropertyValue [<map.value>] : Object |
| Test.java:160:60:160:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:160:24:160:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:162:27:162:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) |
| Test.java:162:27:162:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:162:9:162:30 | getElementDefault(...) |
| Test.java:167:68:167:75 | source(...) : Object | Test.java:40:61:40:74 | element : Object | Test.java:41:10:41:57 | new MutablePropertyValues(...) : MutablePropertyValues [<element>, <map.value>] : Object | Test.java:167:31:167:76 | newMutablePropertyValuesWithMapValue(...) : MutablePropertyValues [<element>, <map.value>] : Object |
| Test.java:175:42:175:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:175:6:175:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:183:42:183:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:183:6:183:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:185:20:185:22 | out : List [<element>] : PropertyValue | Test.java:16:19:16:32 | it : List [<element>] : PropertyValue | Test.java:17:10:17:29 | next(...) : PropertyValue | Test.java:185:9:185:23 | getElement(...) |
| Test.java:191:42:191:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:191:6:191:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:193:25:193:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | Test.java:193:9:193:28 | getArrayElement(...) |
| Test.java:200:27:200:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) |
| Test.java:200:27:200:29 | out : MutablePropertyValues [<element>] : PropertyValue | Test.java:20:34:20:64 | container : MutablePropertyValues [<element>] : PropertyValue | Test.java:21:10:21:39 | getPropertyValue(...) : PropertyValue | Test.java:200:9:200:30 | getElementDefault(...) |
| Test.java:214:26:214:28 | out : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:214:9:214:29 | getMapKeyDefault(...) |
| Test.java:221:28:221:30 | out : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:221:9:221:31 | getMapValueDefault(...) |
| Test.java:228:26:228:28 | out : PropertyValue [<map.key>] : String | Test.java:24:26:24:48 | container : PropertyValue [<map.key>] : String | Test.java:25:10:25:28 | getName(...) : String | Test.java:228:9:228:29 | getMapKeyDefault(...) |
| Test.java:235:28:235:30 | out : PropertyValue [<map.value>] : Object | Test.java:28:28:28:50 | container : PropertyValue [<map.value>] : Object | Test.java:29:10:29:29 | getValue(...) : Object | Test.java:235:9:235:31 | getMapValueDefault(...) |
| Test.java:255:42:255:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:255:6:255:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:262:60:262:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:262:24:262:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:270:42:270:65 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:270:6:270:66 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:272:25:272:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | Test.java:272:9:272:28 | getArrayElement(...) |
| Test.java:277:60:277:83 | (...)... : PropertyValue | Test.java:32:60:32:80 | element : PropertyValue | Test.java:33:10:33:52 | new MutablePropertyValues(...) : MutablePropertyValues [<element>] : PropertyValue | Test.java:277:24:277:84 | newMutablePropertyValuesWithElement(...) : MutablePropertyValues [<element>] : PropertyValue |
| Test.java:279:25:279:27 | out : PropertyValue[] [[]] : PropertyValue | Test.java:12:24:12:32 | array : PropertyValue[] [[]] : PropertyValue | Test.java:13:10:13:17 | ...[...] : PropertyValue | Test.java:279:9:279:28 | getArrayElement(...) |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,253 @@
models
| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 3 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
| 4 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual |
| 5 | Summary: java.util; Map; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
| 6 | Summary: org.springframework.cache; Cache; true; get; (Object); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
| 7 | Summary: org.springframework.cache; Cache; true; get; (Object,Callable); ; Argument[this].MapValue; ReturnValue; value; manual |
| 8 | Summary: org.springframework.cache; Cache; true; get; (Object,Class); ; Argument[this].MapValue; ReturnValue; value; manual |
| 9 | Summary: org.springframework.cache; Cache; true; getNativeCache; ; ; Argument[this].MapKey; ReturnValue.MapKey; value; manual |
| 10 | Summary: org.springframework.cache; Cache; true; getNativeCache; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
| 11 | Summary: org.springframework.cache; Cache; true; put; ; ; Argument[0]; Argument[this].MapKey; value; manual |
| 12 | Summary: org.springframework.cache; Cache; true; put; ; ; Argument[1]; Argument[this].MapValue; value; manual |
| 13 | Summary: org.springframework.cache; Cache; true; putIfAbsent; ; ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
| 14 | Summary: org.springframework.cache; Cache; true; putIfAbsent; ; ; Argument[0]; Argument[this].MapKey; value; manual |
| 15 | Summary: org.springframework.cache; Cache; true; putIfAbsent; ; ; Argument[1]; Argument[this].MapValue; value; manual |
| 16 | Summary: org.springframework.cache; Cache$ValueRetrievalException; false; ValueRetrievalException; ; ; Argument[0]; Argument[this].MapKey; value; manual |
| 17 | Summary: org.springframework.cache; Cache$ValueRetrievalException; false; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual |
| 18 | Summary: org.springframework.cache; Cache$ValueWrapper; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
edges
| Test.java:13:16:13:29 | element : Object | Test.java:15:19:15:25 | element : Object | provenance | |
| Test.java:15:4:15:7 | this [post update] : ValueWrapper [<map.value>] : Object | Test.java:13:3:13:14 | parameter this [Return] : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:15:19:15:25 | element : Object | Test.java:15:4:15:7 | this [post update] : ValueWrapper [<map.value>] : Object | provenance | MaD:5 |
| Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | Test.java:18:32:18:35 | this : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | Test.java:18:32:18:35 | this : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:18:32:18:35 | this : ValueWrapper [<map.value>] : Object | Test.java:18:32:18:45 | get(...) : Object | provenance | MaD:3 |
| Test.java:18:32:18:35 | this : ValueWrapper [<map.value>] : Object | Test.java:18:32:18:45 | get(...) : Object | provenance | MaD:3 |
| Test.java:22:14:22:23 | key : Object | Test.java:23:13:23:15 | key : Object | provenance | |
| Test.java:22:26:22:37 | value : Object | Test.java:23:18:23:22 | value : Object | provenance | |
| Test.java:23:4:23:7 | this [post update] : DummyCache [<map.key>] : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.key>] : Object | provenance | |
| Test.java:23:4:23:7 | this [post update] : DummyCache [<map.value>] : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.value>] : Object | provenance | |
| Test.java:23:13:23:15 | key : Object | Test.java:23:4:23:7 | this [post update] : DummyCache [<map.key>] : Object | provenance | MaD:11 |
| Test.java:23:18:23:22 | value : Object | Test.java:23:4:23:7 | this [post update] : DummyCache [<map.value>] : Object | provenance | MaD:12 |
| Test.java:39:19:39:57 | container : ValueRetrievalException [<map.key>] : Object | Test.java:39:69:39:77 | container : ValueRetrievalException [<map.key>] : Object | provenance | |
| Test.java:39:69:39:77 | container : ValueRetrievalException [<map.key>] : Object | Test.java:39:69:39:86 | getKey(...) : Object | provenance | MaD:17 |
| Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | Test.java:40:51:40:59 | container : Cache [<map.key>] : Object | provenance | |
| Test.java:40:45:40:86 | keySet(...) : Set [<element>] : Object | Test.java:40:45:40:97 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:1 |
| Test.java:40:45:40:97 | iterator(...) : Iterator [<element>] : Object | Test.java:40:45:40:104 | next(...) : Object | provenance | MaD:2 |
| Test.java:40:46:40:76 | (...)... : Map [<map.key>] : Object | Test.java:40:45:40:86 | keySet(...) : Set [<element>] : Object | provenance | MaD:4 |
| Test.java:40:51:40:59 | container : Cache [<map.key>] : Object | Test.java:40:51:40:76 | getNativeCache(...) : Object [<map.key>] : Object | provenance | MaD:9 |
| Test.java:40:51:40:76 | getNativeCache(...) : Object [<map.key>] : Object | Test.java:40:46:40:76 | (...)... : Map [<map.key>] : Object | provenance | |
| Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | Test.java:41:47:41:55 | container : Cache [<map.value>] : Object | provenance | |
| Test.java:41:47:41:55 | container : Cache [<map.value>] : Object | Test.java:41:47:41:78 | get(...) : Object | provenance | MaD:8 |
| Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:3 |
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:3 |
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:18 |
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | provenance | MaD:18 |
| Test.java:51:16:51:23 | source(...) : Object | Test.java:52:44:52:45 | in : Object | provenance | |
| Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object | Test.java:53:19:53:21 | out : ValueRetrievalException [<map.key>] : Object | provenance | |
| Test.java:52:44:52:45 | in : Object | Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object | provenance | MaD:16 |
| Test.java:53:19:53:21 | out : ValueRetrievalException [<map.key>] : Object | Test.java:39:19:39:57 | container : ValueRetrievalException [<map.key>] : Object | provenance | |
| Test.java:53:19:53:21 | out : ValueRetrievalException [<map.key>] : Object | Test.java:53:9:53:22 | getMapKey(...) | provenance | MaD:17 |
| Test.java:58:39:58:93 | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object | Test.java:59:10:59:11 | in : ValueRetrievalException [<map.key>] : Object | provenance | |
| Test.java:58:73:58:80 | source(...) : Object | Test.java:58:39:58:93 | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object | provenance | MaD:16 |
| Test.java:59:10:59:11 | in : ValueRetrievalException [<map.key>] : Object | Test.java:59:10:59:20 | getKey(...) : Object | provenance | MaD:17 |
| Test.java:59:10:59:20 | getKey(...) : Object | Test.java:60:9:60:11 | out | provenance | |
| Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [<map.value>] : Object | Test.java:66:10:66:11 | in : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:65:45:65:52 | source(...) : Object | Test.java:13:16:13:29 | element : Object | provenance | |
| Test.java:65:45:65:52 | source(...) : Object | Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [<map.value>] : Object | provenance | MaD:5 |
| Test.java:66:10:66:11 | in : ValueWrapper [<map.value>] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:66:10:66:11 | in : ValueWrapper [<map.value>] : Object | Test.java:66:10:66:17 | get(...) : Object | provenance | MaD:3 |
| Test.java:66:10:66:11 | in : ValueWrapper [<map.value>] : Object | Test.java:66:10:66:17 | get(...) : Object | provenance | MaD:18 |
| Test.java:66:10:66:17 | get(...) : Object | Test.java:67:9:67:11 | out | provenance | |
| Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | Test.java:73:10:73:11 | in : DummyCache [<map.value>] : Object | provenance | |
| Test.java:72:36:72:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | |
| Test.java:72:36:72:43 | source(...) : Object | Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | provenance | MaD:12 |
| Test.java:73:10:73:11 | in : DummyCache [<map.value>] : Object | Test.java:73:10:73:21 | get(...) : ValueWrapper [<map.value>] : Object | provenance | MaD:6 |
| Test.java:73:10:73:21 | get(...) : ValueWrapper [<map.value>] : Object | Test.java:74:21:74:23 | out : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:74:21:74:23 | out : ValueWrapper [<map.value>] : Object | Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:74:21:74:23 | out : ValueWrapper [<map.value>] : Object | Test.java:74:9:74:24 | getMapValue(...) | provenance | MaD:3 |
| Test.java:74:21:74:23 | out : ValueWrapper [<map.value>] : Object | Test.java:74:9:74:24 | getMapValue(...) | provenance | MaD:18 |
| Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | Test.java:80:10:80:11 | in : DummyCache [<map.value>] : Object | provenance | |
| Test.java:79:36:79:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | |
| Test.java:79:36:79:43 | source(...) : Object | Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | provenance | MaD:12 |
| Test.java:80:10:80:11 | in : DummyCache [<map.value>] : Object | Test.java:80:10:80:37 | get(...) : Object | provenance | MaD:7 |
| Test.java:80:10:80:37 | get(...) : Object | Test.java:81:9:81:11 | out | provenance | |
| Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | Test.java:87:10:87:11 | in : DummyCache [<map.value>] : Object | provenance | |
| Test.java:86:36:86:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | |
| Test.java:86:36:86:43 | source(...) : Object | Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | provenance | MaD:12 |
| Test.java:87:10:87:11 | in : DummyCache [<map.value>] : Object | Test.java:87:10:87:34 | get(...) : Object | provenance | MaD:8 |
| Test.java:87:10:87:34 | get(...) : Object | Test.java:88:9:88:11 | out | provenance | |
| Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [<map.key>] : Object | Test.java:94:10:94:11 | in : DummyCache [<map.key>] : Object | provenance | |
| Test.java:93:30:93:37 | source(...) : Object | Test.java:22:14:22:23 | key : Object | provenance | |
| Test.java:93:30:93:37 | source(...) : Object | Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [<map.key>] : Object | provenance | MaD:11 |
| Test.java:94:10:94:11 | in : DummyCache [<map.key>] : Object | Test.java:94:10:94:28 | getNativeCache(...) : Object [<map.key>] : Object | provenance | MaD:9 |
| Test.java:94:10:94:28 | getNativeCache(...) : Object [<map.key>] : Object | Test.java:95:19:95:28 | (...)... : Cache [<map.key>] : Object | provenance | |
| Test.java:95:19:95:28 | (...)... : Cache [<map.key>] : Object | Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | provenance | |
| Test.java:95:19:95:28 | (...)... : Cache [<map.key>] : Object | Test.java:95:9:95:29 | getMapKey(...) | provenance | MaD:9 |
| Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | Test.java:101:10:101:11 | in : DummyCache [<map.value>] : Object | provenance | |
| Test.java:100:36:100:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | |
| Test.java:100:36:100:43 | source(...) : Object | Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | provenance | MaD:12 |
| Test.java:101:10:101:11 | in : DummyCache [<map.value>] : Object | Test.java:101:10:101:28 | getNativeCache(...) : Object [<map.value>] : Object | provenance | MaD:10 |
| Test.java:101:10:101:28 | getNativeCache(...) : Object [<map.value>] : Object | Test.java:102:21:102:30 | (...)... : Cache [<map.value>] : Object | provenance | |
| Test.java:102:21:102:30 | (...)... : Cache [<map.value>] : Object | Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | provenance | |
| Test.java:102:21:102:30 | (...)... : Cache [<map.value>] : Object | Test.java:102:9:102:31 | getMapValue(...) | provenance | MaD:8 |
| Test.java:107:16:107:23 | source(...) : Object | Test.java:108:12:108:13 | in : Object | provenance | |
| Test.java:108:4:108:6 | out [post update] : Cache [<map.key>] : Object | Test.java:109:19:109:21 | out : Cache [<map.key>] : Object | provenance | |
| Test.java:108:12:108:13 | in : Object | Test.java:108:4:108:6 | out [post update] : Cache [<map.key>] : Object | provenance | MaD:11 |
| Test.java:109:19:109:21 | out : Cache [<map.key>] : Object | Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | provenance | |
| Test.java:109:19:109:21 | out : Cache [<map.key>] : Object | Test.java:109:9:109:22 | getMapKey(...) | provenance | MaD:9 |
| Test.java:114:16:114:23 | source(...) : Object | Test.java:115:18:115:19 | in : Object | provenance | |
| Test.java:115:4:115:6 | out [post update] : Cache [<map.value>] : Object | Test.java:116:21:116:23 | out : Cache [<map.value>] : Object | provenance | |
| Test.java:115:18:115:19 | in : Object | Test.java:115:4:115:6 | out [post update] : Cache [<map.value>] : Object | provenance | MaD:12 |
| Test.java:116:21:116:23 | out : Cache [<map.value>] : Object | Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | provenance | |
| Test.java:116:21:116:23 | out : Cache [<map.value>] : Object | Test.java:116:9:116:24 | getMapValue(...) | provenance | MaD:8 |
| Test.java:121:16:121:23 | source(...) : Object | Test.java:122:20:122:21 | in : Object | provenance | |
| Test.java:122:4:122:6 | out [post update] : Cache [<map.key>] : Object | Test.java:123:19:123:21 | out : Cache [<map.key>] : Object | provenance | |
| Test.java:122:20:122:21 | in : Object | Test.java:122:4:122:6 | out [post update] : Cache [<map.key>] : Object | provenance | MaD:14 |
| Test.java:123:19:123:21 | out : Cache [<map.key>] : Object | Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | provenance | |
| Test.java:123:19:123:21 | out : Cache [<map.key>] : Object | Test.java:123:9:123:22 | getMapKey(...) | provenance | MaD:9 |
| Test.java:128:16:128:23 | source(...) : Object | Test.java:129:26:129:27 | in : Object | provenance | |
| Test.java:129:4:129:6 | out [post update] : Cache [<map.value>] : Object | Test.java:130:21:130:23 | out : Cache [<map.value>] : Object | provenance | |
| Test.java:129:26:129:27 | in : Object | Test.java:129:4:129:6 | out [post update] : Cache [<map.value>] : Object | provenance | MaD:15 |
| Test.java:130:21:130:23 | out : Cache [<map.value>] : Object | Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | provenance | |
| Test.java:130:21:130:23 | out : Cache [<map.value>] : Object | Test.java:130:9:130:24 | getMapValue(...) | provenance | MaD:8 |
| Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | Test.java:136:10:136:11 | in : DummyCache [<map.value>] : Object | provenance | |
| Test.java:135:36:135:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | provenance | |
| Test.java:135:36:135:43 | source(...) : Object | Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | provenance | MaD:12 |
| Test.java:136:10:136:11 | in : DummyCache [<map.value>] : Object | Test.java:136:10:136:35 | putIfAbsent(...) : ValueWrapper [<map.value>] : Object | provenance | MaD:13 |
| Test.java:136:10:136:35 | putIfAbsent(...) : ValueWrapper [<map.value>] : Object | Test.java:137:21:137:23 | out : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:137:21:137:23 | out : ValueWrapper [<map.value>] : Object | Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | provenance | |
| Test.java:137:21:137:23 | out : ValueWrapper [<map.value>] : Object | Test.java:137:9:137:24 | getMapValue(...) | provenance | MaD:3 |
| Test.java:137:21:137:23 | out : ValueWrapper [<map.value>] : Object | Test.java:137:9:137:24 | getMapValue(...) | provenance | MaD:18 |
nodes
| Test.java:13:3:13:14 | parameter this [Return] : ValueWrapper [<map.value>] : Object | semmle.label | parameter this [Return] : ValueWrapper [<map.value>] : Object |
| Test.java:13:16:13:29 | element : Object | semmle.label | element : Object |
| Test.java:15:4:15:7 | this [post update] : ValueWrapper [<map.value>] : Object | semmle.label | this [post update] : ValueWrapper [<map.value>] : Object |
| Test.java:15:19:15:25 | element : Object | semmle.label | element : Object |
| Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | semmle.label | parameter this : ValueWrapper [<map.value>] : Object |
| Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | semmle.label | parameter this : ValueWrapper [<map.value>] : Object |
| Test.java:18:32:18:35 | this : ValueWrapper [<map.value>] : Object | semmle.label | this : ValueWrapper [<map.value>] : Object |
| Test.java:18:32:18:35 | this : ValueWrapper [<map.value>] : Object | semmle.label | this : ValueWrapper [<map.value>] : Object |
| Test.java:18:32:18:45 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:18:32:18:45 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.key>] : Object | semmle.label | parameter this [Return] : DummyCache [<map.key>] : Object |
| Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.value>] : Object | semmle.label | parameter this [Return] : DummyCache [<map.value>] : Object |
| Test.java:22:14:22:23 | key : Object | semmle.label | key : Object |
| Test.java:22:26:22:37 | value : Object | semmle.label | value : Object |
| Test.java:23:4:23:7 | this [post update] : DummyCache [<map.key>] : Object | semmle.label | this [post update] : DummyCache [<map.key>] : Object |
| Test.java:23:4:23:7 | this [post update] : DummyCache [<map.value>] : Object | semmle.label | this [post update] : DummyCache [<map.value>] : Object |
| Test.java:23:13:23:15 | key : Object | semmle.label | key : Object |
| Test.java:23:18:23:22 | value : Object | semmle.label | value : Object |
| Test.java:39:19:39:57 | container : ValueRetrievalException [<map.key>] : Object | semmle.label | container : ValueRetrievalException [<map.key>] : Object |
| Test.java:39:69:39:77 | container : ValueRetrievalException [<map.key>] : Object | semmle.label | container : ValueRetrievalException [<map.key>] : Object |
| Test.java:39:69:39:86 | getKey(...) : Object | semmle.label | getKey(...) : Object |
| Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | semmle.label | container : Cache [<map.key>] : Object |
| Test.java:40:45:40:86 | keySet(...) : Set [<element>] : Object | semmle.label | keySet(...) : Set [<element>] : Object |
| Test.java:40:45:40:97 | iterator(...) : Iterator [<element>] : Object | semmle.label | iterator(...) : Iterator [<element>] : Object |
| Test.java:40:45:40:104 | next(...) : Object | semmle.label | next(...) : Object |
| Test.java:40:46:40:76 | (...)... : Map [<map.key>] : Object | semmle.label | (...)... : Map [<map.key>] : Object |
| Test.java:40:51:40:59 | container : Cache [<map.key>] : Object | semmle.label | container : Cache [<map.key>] : Object |
| Test.java:40:51:40:76 | getNativeCache(...) : Object [<map.key>] : Object | semmle.label | getNativeCache(...) : Object [<map.key>] : Object |
| Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | semmle.label | container : Cache [<map.value>] : Object |
| Test.java:41:47:41:55 | container : Cache [<map.value>] : Object | semmle.label | container : Cache [<map.value>] : Object |
| Test.java:41:47:41:78 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | semmle.label | container : ValueWrapper [<map.value>] : Object |
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | semmle.label | container : ValueWrapper [<map.value>] : Object |
| Test.java:42:60:42:74 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:42:60:42:74 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:51:16:51:23 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:52:10:52:58 | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object | semmle.label | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object |
| Test.java:52:44:52:45 | in : Object | semmle.label | in : Object |
| Test.java:53:9:53:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:53:19:53:21 | out : ValueRetrievalException [<map.key>] : Object | semmle.label | out : ValueRetrievalException [<map.key>] : Object |
| Test.java:58:39:58:93 | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object | semmle.label | new ValueRetrievalException(...) : ValueRetrievalException [<map.key>] : Object |
| Test.java:58:73:58:80 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:59:10:59:11 | in : ValueRetrievalException [<map.key>] : Object | semmle.label | in : ValueRetrievalException [<map.key>] : Object |
| Test.java:59:10:59:20 | getKey(...) : Object | semmle.label | getKey(...) : Object |
| Test.java:60:9:60:11 | out | semmle.label | out |
| Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [<map.value>] : Object | semmle.label | new ValueWrapper(...) : ValueWrapper [<map.value>] : Object |
| Test.java:65:45:65:52 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:66:10:66:11 | in : ValueWrapper [<map.value>] : Object | semmle.label | in : ValueWrapper [<map.value>] : Object |
| Test.java:66:10:66:17 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:67:9:67:11 | out | semmle.label | out |
| Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | semmle.label | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:72:36:72:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:73:10:73:11 | in : DummyCache [<map.value>] : Object | semmle.label | in : DummyCache [<map.value>] : Object |
| Test.java:73:10:73:21 | get(...) : ValueWrapper [<map.value>] : Object | semmle.label | get(...) : ValueWrapper [<map.value>] : Object |
| Test.java:74:9:74:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:74:21:74:23 | out : ValueWrapper [<map.value>] : Object | semmle.label | out : ValueWrapper [<map.value>] : Object |
| Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | semmle.label | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:79:36:79:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:80:10:80:11 | in : DummyCache [<map.value>] : Object | semmle.label | in : DummyCache [<map.value>] : Object |
| Test.java:80:10:80:37 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:81:9:81:11 | out | semmle.label | out |
| Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | semmle.label | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:86:36:86:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:87:10:87:11 | in : DummyCache [<map.value>] : Object | semmle.label | in : DummyCache [<map.value>] : Object |
| Test.java:87:10:87:34 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:88:9:88:11 | out | semmle.label | out |
| Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [<map.key>] : Object | semmle.label | new DummyCache(...) : DummyCache [<map.key>] : Object |
| Test.java:93:30:93:37 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:94:10:94:11 | in : DummyCache [<map.key>] : Object | semmle.label | in : DummyCache [<map.key>] : Object |
| Test.java:94:10:94:28 | getNativeCache(...) : Object [<map.key>] : Object | semmle.label | getNativeCache(...) : Object [<map.key>] : Object |
| Test.java:95:9:95:29 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:95:19:95:28 | (...)... : Cache [<map.key>] : Object | semmle.label | (...)... : Cache [<map.key>] : Object |
| Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | semmle.label | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:100:36:100:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:101:10:101:11 | in : DummyCache [<map.value>] : Object | semmle.label | in : DummyCache [<map.value>] : Object |
| Test.java:101:10:101:28 | getNativeCache(...) : Object [<map.value>] : Object | semmle.label | getNativeCache(...) : Object [<map.value>] : Object |
| Test.java:102:9:102:31 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:102:21:102:30 | (...)... : Cache [<map.value>] : Object | semmle.label | (...)... : Cache [<map.value>] : Object |
| Test.java:107:16:107:23 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:108:4:108:6 | out [post update] : Cache [<map.key>] : Object | semmle.label | out [post update] : Cache [<map.key>] : Object |
| Test.java:108:12:108:13 | in : Object | semmle.label | in : Object |
| Test.java:109:9:109:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:109:19:109:21 | out : Cache [<map.key>] : Object | semmle.label | out : Cache [<map.key>] : Object |
| Test.java:114:16:114:23 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:115:4:115:6 | out [post update] : Cache [<map.value>] : Object | semmle.label | out [post update] : Cache [<map.value>] : Object |
| Test.java:115:18:115:19 | in : Object | semmle.label | in : Object |
| Test.java:116:9:116:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:116:21:116:23 | out : Cache [<map.value>] : Object | semmle.label | out : Cache [<map.value>] : Object |
| Test.java:121:16:121:23 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:122:4:122:6 | out [post update] : Cache [<map.key>] : Object | semmle.label | out [post update] : Cache [<map.key>] : Object |
| Test.java:122:20:122:21 | in : Object | semmle.label | in : Object |
| Test.java:123:9:123:22 | getMapKey(...) | semmle.label | getMapKey(...) |
| Test.java:123:19:123:21 | out : Cache [<map.key>] : Object | semmle.label | out : Cache [<map.key>] : Object |
| Test.java:128:16:128:23 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:129:4:129:6 | out [post update] : Cache [<map.value>] : Object | semmle.label | out [post update] : Cache [<map.value>] : Object |
| Test.java:129:26:129:27 | in : Object | semmle.label | in : Object |
| Test.java:130:9:130:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:130:21:130:23 | out : Cache [<map.value>] : Object | semmle.label | out : Cache [<map.value>] : Object |
| Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [<map.value>] : Object | semmle.label | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:135:36:135:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:136:10:136:11 | in : DummyCache [<map.value>] : Object | semmle.label | in : DummyCache [<map.value>] : Object |
| Test.java:136:10:136:35 | putIfAbsent(...) : ValueWrapper [<map.value>] : Object | semmle.label | putIfAbsent(...) : ValueWrapper [<map.value>] : Object |
| Test.java:137:9:137:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:137:21:137:23 | out : ValueWrapper [<map.value>] : Object | semmle.label | out : ValueWrapper [<map.value>] : Object |
subpaths
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:42:60:42:74 | get(...) : Object |
| Test.java:42:60:42:68 | container : ValueWrapper [<map.value>] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:42:60:42:74 | get(...) : Object |
| Test.java:53:19:53:21 | out : ValueRetrievalException [<map.key>] : Object | Test.java:39:19:39:57 | container : ValueRetrievalException [<map.key>] : Object | Test.java:39:69:39:86 | getKey(...) : Object | Test.java:53:9:53:22 | getMapKey(...) |
| Test.java:65:45:65:52 | source(...) : Object | Test.java:13:16:13:29 | element : Object | Test.java:13:3:13:14 | parameter this [Return] : ValueWrapper [<map.value>] : Object | Test.java:65:28:65:53 | new ValueWrapper(...) : ValueWrapper [<map.value>] : Object |
| Test.java:66:10:66:11 | in : ValueWrapper [<map.value>] : Object | Test.java:18:17:18:19 | parameter this : ValueWrapper [<map.value>] : Object | Test.java:18:32:18:45 | get(...) : Object | Test.java:66:10:66:17 | get(...) : Object |
| Test.java:72:36:72:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.value>] : Object | Test.java:72:15:72:44 | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:74:21:74:23 | out : ValueWrapper [<map.value>] : Object | Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:74:9:74:24 | getMapValue(...) |
| Test.java:74:21:74:23 | out : ValueWrapper [<map.value>] : Object | Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:74:9:74:24 | getMapValue(...) |
| Test.java:79:36:79:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.value>] : Object | Test.java:79:15:79:44 | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:86:36:86:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.value>] : Object | Test.java:86:15:86:44 | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:93:30:93:37 | source(...) : Object | Test.java:22:14:22:23 | key : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.key>] : Object | Test.java:93:15:93:44 | new DummyCache(...) : DummyCache [<map.key>] : Object |
| Test.java:95:19:95:28 | (...)... : Cache [<map.key>] : Object | Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | Test.java:40:45:40:104 | next(...) : Object | Test.java:95:9:95:29 | getMapKey(...) |
| Test.java:100:36:100:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.value>] : Object | Test.java:100:15:100:44 | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:102:21:102:30 | (...)... : Cache [<map.value>] : Object | Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | Test.java:41:47:41:78 | get(...) : Object | Test.java:102:9:102:31 | getMapValue(...) |
| Test.java:109:19:109:21 | out : Cache [<map.key>] : Object | Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | Test.java:40:45:40:104 | next(...) : Object | Test.java:109:9:109:22 | getMapKey(...) |
| Test.java:116:21:116:23 | out : Cache [<map.value>] : Object | Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | Test.java:41:47:41:78 | get(...) : Object | Test.java:116:9:116:24 | getMapValue(...) |
| Test.java:123:19:123:21 | out : Cache [<map.key>] : Object | Test.java:40:19:40:33 | container : Cache [<map.key>] : Object | Test.java:40:45:40:104 | next(...) : Object | Test.java:123:9:123:22 | getMapKey(...) |
| Test.java:130:21:130:23 | out : Cache [<map.value>] : Object | Test.java:41:21:41:35 | container : Cache [<map.value>] : Object | Test.java:41:47:41:78 | get(...) : Object | Test.java:130:9:130:24 | getMapValue(...) |
| Test.java:135:36:135:43 | source(...) : Object | Test.java:22:26:22:37 | value : Object | Test.java:22:3:22:12 | parameter this [Return] : DummyCache [<map.value>] : Object | Test.java:135:15:135:44 | new DummyCache(...) : DummyCache [<map.value>] : Object |
| Test.java:137:21:137:23 | out : ValueWrapper [<map.value>] : Object | Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:137:9:137:24 | getMapValue(...) |
| Test.java:137:21:137:23 | out : ValueWrapper [<map.value>] : Object | Test.java:42:21:42:48 | container : ValueWrapper [<map.value>] : Object | Test.java:42:60:42:74 | get(...) : Object | Test.java:137:9:137:24 | getMapValue(...) |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,25 @@
models
| 1 | Summary: org.springframework.context; MessageSource; true; getMessage; (String,Object[],Locale); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
| 2 | Summary: org.springframework.context; MessageSource; true; getMessage; (String,Object[],String,Locale); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
| 3 | Summary: org.springframework.context; MessageSource; true; getMessage; (String,Object[],String,Locale); ; Argument[2]; ReturnValue; taint; manual |
edges
| Test.java:16:29:16:51 | new String[] : String[] [[]] : String | Test.java:16:8:16:60 | getMessage(...) | provenance | MaD:1 |
| Test.java:16:29:16:51 | {...} : String[] [[]] : String | Test.java:16:29:16:51 | new String[] : String[] [[]] : String | provenance | |
| Test.java:16:43:16:49 | taint(...) : String | Test.java:16:29:16:51 | {...} : String[] [[]] : String | provenance | |
| Test.java:17:29:17:51 | new String[] : String[] [[]] : String | Test.java:17:8:17:64 | getMessage(...) | provenance | MaD:2 |
| Test.java:17:29:17:51 | {...} : String[] [[]] : String | Test.java:17:29:17:51 | new String[] : String[] [[]] : String | provenance | |
| Test.java:17:43:17:49 | taint(...) : String | Test.java:17:29:17:51 | {...} : String[] [[]] : String | provenance | |
| Test.java:18:35:18:41 | taint(...) : String | Test.java:18:8:18:50 | getMessage(...) | provenance | MaD:3 |
nodes
| Test.java:16:8:16:60 | getMessage(...) | semmle.label | getMessage(...) |
| Test.java:16:29:16:51 | new String[] : String[] [[]] : String | semmle.label | new String[] : String[] [[]] : String |
| Test.java:16:29:16:51 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| Test.java:16:43:16:49 | taint(...) : String | semmle.label | taint(...) : String |
| Test.java:17:8:17:64 | getMessage(...) | semmle.label | getMessage(...) |
| Test.java:17:29:17:51 | new String[] : String[] [[]] : String | semmle.label | new String[] : String[] [[]] : String |
| Test.java:17:29:17:51 | {...} : String[] [[]] : String | semmle.label | {...} : String[] [[]] : String |
| Test.java:17:43:17:49 | taint(...) : String | semmle.label | taint(...) : String |
| Test.java:18:8:18:50 | getMessage(...) | semmle.label | getMessage(...) |
| Test.java:18:35:18:41 | taint(...) : String | semmle.label | taint(...) : String |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,26 @@
models
| 1 | Summary: org.springframework.data.repository; CrudRepository; true; save; ; ; Argument[0]; ReturnValue; value; manual |
edges
| Test.java:5:17:5:24 | f : String | Test.java:6:18:6:18 | f : String | provenance | |
| Test.java:6:5:6:8 | this [post update] : Struct [field] : String | Test.java:5:10:5:15 | parameter this [Return] : Struct [field] : String | provenance | |
| Test.java:6:18:6:18 | f : String | Test.java:6:5:6:8 | this [post update] : Struct [field] : String | provenance | |
| Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String | Test.java:16:17:16:17 | s : Struct [field] : String | provenance | |
| Test.java:15:27:15:34 | source(...) : String | Test.java:5:17:5:24 | f : String | provenance | |
| Test.java:15:27:15:34 | source(...) : String | Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String | provenance | |
| Test.java:16:9:16:18 | save(...) : Struct [field] : String | Test.java:17:10:17:10 | s : Struct [field] : String | provenance | |
| Test.java:16:17:16:17 | s : Struct [field] : String | Test.java:16:9:16:18 | save(...) : Struct [field] : String | provenance | MaD:1 |
| Test.java:17:10:17:10 | s : Struct [field] : String | Test.java:17:10:17:16 | s.field | provenance | |
nodes
| Test.java:5:10:5:15 | parameter this [Return] : Struct [field] : String | semmle.label | parameter this [Return] : Struct [field] : String |
| Test.java:5:17:5:24 | f : String | semmle.label | f : String |
| Test.java:6:5:6:8 | this [post update] : Struct [field] : String | semmle.label | this [post update] : Struct [field] : String |
| Test.java:6:18:6:18 | f : String | semmle.label | f : String |
| Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String | semmle.label | new Struct(...) : Struct [field] : String |
| Test.java:15:27:15:34 | source(...) : String | semmle.label | source(...) : String |
| Test.java:16:9:16:18 | save(...) : Struct [field] : String | semmle.label | save(...) : Struct [field] : String |
| Test.java:16:17:16:17 | s : Struct [field] : String | semmle.label | s : Struct [field] : String |
| Test.java:17:10:17:10 | s : Struct [field] : String | semmle.label | s : Struct [field] : String |
| Test.java:17:10:17:16 | s.field | semmle.label | s.field |
subpaths
| Test.java:15:27:15:34 | source(...) : String | Test.java:5:17:5:24 | f : String | Test.java:5:10:5:15 | parameter this [Return] : Struct [field] : String | Test.java:15:16:15:35 | new Struct(...) : Struct [field] : String |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,407 @@
models
| 1 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
| 2 | Summary: java.util; List; false; of; (Object[]); ; Argument[0].ArrayElement; ReturnValue.Element; value; manual |
| 3 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
| 4 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual |
| 5 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (MultiValueMap); ; Argument[0].MapKey; Argument[this]; taint; manual |
| 6 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (MultiValueMap); ; Argument[0].MapValue.Element; Argument[this]; taint; manual |
| 7 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (Object); ; Argument[0]; Argument[this]; taint; manual |
| 8 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (Object,MultiValueMap); ; Argument[0]; Argument[this]; taint; manual |
| 9 | Summary: org.springframework.http; HttpEntity; true; HttpEntity; (Object,MultiValueMap); ; Argument[1].MapValue.Element; Argument[this]; taint; manual |
| 10 | Summary: org.springframework.http; HttpEntity; true; getBody; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: org.springframework.http; HttpEntity; true; getHeaders; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: org.springframework.http; HttpHeaders; true; HttpHeaders; (MultiValueMap); ; Argument[0].MapKey; Argument[this]; taint; manual |
| 13 | Summary: org.springframework.http; HttpHeaders; true; HttpHeaders; (MultiValueMap); ; Argument[0].MapValue.Element; Argument[this]; taint; manual |
| 14 | Summary: org.springframework.http; HttpHeaders; true; add; (String,String); ; Argument[0..1]; Argument[this]; taint; manual |
| 15 | Summary: org.springframework.http; HttpHeaders; true; addAll; (MultiValueMap); ; Argument[0].MapKey; Argument[this]; taint; manual |
| 16 | Summary: org.springframework.http; HttpHeaders; true; addAll; (MultiValueMap); ; Argument[0].MapValue.Element; Argument[this]; taint; manual |
| 17 | Summary: org.springframework.http; HttpHeaders; true; addAll; (String,List); ; Argument[0]; Argument[this]; taint; manual |
| 18 | Summary: org.springframework.http; HttpHeaders; true; addAll; (String,List); ; Argument[1].Element; Argument[this]; taint; manual |
| 19 | Summary: org.springframework.http; HttpHeaders; true; encodeBasicAuth; (String,String,Charset); ; Argument[0..1]; ReturnValue; taint; manual |
| 20 | Summary: org.springframework.http; HttpHeaders; true; formatHeaders; (MultiValueMap); ; Argument[0].MapKey; ReturnValue; taint; manual |
| 21 | Summary: org.springframework.http; HttpHeaders; true; formatHeaders; (MultiValueMap); ; Argument[0].MapValue.Element; ReturnValue; taint; manual |
| 22 | Summary: org.springframework.http; HttpHeaders; true; get; (Object); ; Argument[this]; ReturnValue.Element; taint; manual |
| 23 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlAllowHeaders; (); ; Argument[this]; ReturnValue.Element; taint; manual |
| 24 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlAllowOrigin; (); ; Argument[this]; ReturnValue; taint; manual |
| 25 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlExposeHeaders; (); ; Argument[this]; ReturnValue.Element; taint; manual |
| 26 | Summary: org.springframework.http; HttpHeaders; true; getAccessControlRequestHeaders; (); ; Argument[this]; ReturnValue.Element; taint; manual |
| 27 | Summary: org.springframework.http; HttpHeaders; true; getCacheControl; (); ; Argument[this]; ReturnValue; taint; manual |
| 28 | Summary: org.springframework.http; HttpHeaders; true; getConnection; (); ; Argument[this]; ReturnValue.Element; taint; manual |
| 29 | Summary: org.springframework.http; HttpHeaders; true; getETag; (); ; Argument[this]; ReturnValue; taint; manual |
| 30 | Summary: org.springframework.http; HttpHeaders; true; getFirst; (String); ; Argument[this]; ReturnValue; taint; manual |
| 31 | Summary: org.springframework.http; HttpHeaders; true; getHost; (); ; Argument[this]; ReturnValue; taint; manual |
| 32 | Summary: org.springframework.http; HttpHeaders; true; getIfMatch; (); ; Argument[this]; ReturnValue.Element; taint; manual |
| 33 | Summary: org.springframework.http; HttpHeaders; true; getIfNoneMatch; (); ; Argument[this]; ReturnValue.Element; taint; manual |
| 34 | Summary: org.springframework.http; HttpHeaders; true; getLocation; (); ; Argument[this]; ReturnValue; taint; manual |
| 35 | Summary: org.springframework.http; HttpHeaders; true; getOrEmpty; (Object); ; Argument[this]; ReturnValue.Element; taint; manual |
| 36 | Summary: org.springframework.http; HttpHeaders; true; getOrigin; (); ; Argument[this]; ReturnValue; taint; manual |
| 37 | Summary: org.springframework.http; HttpHeaders; true; getPragma; (); ; Argument[this]; ReturnValue; taint; manual |
| 38 | Summary: org.springframework.http; HttpHeaders; true; getUpgrade; (); ; Argument[this]; ReturnValue; taint; manual |
| 39 | Summary: org.springframework.http; HttpHeaders; true; getValuesAsList; (String); ; Argument[this]; ReturnValue.Element; taint; manual |
| 40 | Summary: org.springframework.http; HttpHeaders; true; getVary; (); ; Argument[this]; ReturnValue.Element; taint; manual |
| 41 | Summary: org.springframework.http; RequestEntity; true; getUrl; (); ; Argument[this]; ReturnValue; taint; manual |
| 42 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (MultiValueMap,HttpStatus); ; Argument[0].MapKey; Argument[this]; taint; manual |
| 43 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (MultiValueMap,HttpStatus); ; Argument[0].MapValue.Element; Argument[this]; taint; manual |
| 44 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,HttpStatus); ; Argument[0]; Argument[this]; taint; manual |
| 45 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,HttpStatus); ; Argument[0]; Argument[this]; taint; manual |
| 46 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,HttpStatus); ; Argument[1].MapKey; Argument[this]; taint; manual |
| 47 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,HttpStatus); ; Argument[1].MapValue.Element; Argument[this]; taint; manual |
| 48 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,int); ; Argument[0]; Argument[this]; taint; manual |
| 49 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,int); ; Argument[1].MapKey; Argument[this]; taint; manual |
| 50 | Summary: org.springframework.http; ResponseEntity; true; ResponseEntity; (Object,MultiValueMap,int); ; Argument[1].MapValue.Element; Argument[this]; taint; manual |
| 51 | Summary: org.springframework.http; ResponseEntity; true; created; (URI); ; Argument[0]; ReturnValue; taint; manual |
| 52 | Summary: org.springframework.http; ResponseEntity; true; of; (Optional); ; Argument[0].Element; ReturnValue; taint; manual |
| 53 | Summary: org.springframework.http; ResponseEntity; true; ok; (Object); ; Argument[0]; ReturnValue; taint; manual |
| 54 | Summary: org.springframework.http; ResponseEntity$BodyBuilder; true; body; (Object); ; Argument[this]; ReturnValue; taint; manual |
| 55 | Summary: org.springframework.http; ResponseEntity$BodyBuilder; true; body; (Object); ; Argument[0]; ReturnValue; taint; manual |
| 56 | Summary: org.springframework.http; ResponseEntity$BodyBuilder; true; contentType; (MediaType); ; Argument[this]; ReturnValue; value; manual |
| 57 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; allow; (HttpMethod[]); ; Argument[this]; ReturnValue; value; manual |
| 58 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; build; (); ; Argument[this]; ReturnValue; taint; manual |
| 59 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; eTag; (String); ; Argument[this]; ReturnValue; value; manual |
| 60 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; eTag; (String); ; Argument[0]; Argument[this]; taint; manual |
| 61 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; header; (String,String[]); ; Argument[this]; ReturnValue; value; manual |
| 62 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; header; (String,String[]); ; Argument[0]; Argument[this]; taint; manual |
| 63 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; header; (String,String[]); ; Argument[1].ArrayElement; Argument[this]; taint; manual |
| 64 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; headers; (HttpHeaders); ; Argument[this]; ReturnValue; value; manual |
| 65 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; headers; (HttpHeaders); ; Argument[0]; Argument[this]; taint; manual |
| 66 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; lastModified; ; ; Argument[this]; ReturnValue; value; manual |
| 67 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; location; (URI); ; Argument[this]; ReturnValue; value; manual |
| 68 | Summary: org.springframework.http; ResponseEntity$HeadersBuilder; true; location; (URI); ; Argument[0]; Argument[this]; taint; manual |
| 69 | Summary: org.springframework.util; MultiValueMap; true; add; ; ; Argument[0]; Argument[this].MapKey; value; manual |
| 70 | Summary: org.springframework.util; MultiValueMap; true; add; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual |
| 71 | Summary: org.springframework.util; MultiValueMap; true; addAll; (java.lang.Object,java.util.List); ; Argument[1].Element; Argument[this].MapValue.Element; value; manual |
| 72 | Summary: org.springframework.util; MultiValueMap; true; addAll; (org.springframework.util.MultiValueMap); ; Argument[0].MapValue.Element; Argument[this].MapValue.Element; value; manual |
| 73 | Summary: org.springframework.util; MultiValueMap; true; getFirst; ; ; Argument[this].MapValue.Element; ReturnValue; value; manual |
edges
| TestHttp.java:16:20:16:26 | taint(...) : String | TestHttp.java:17:29:17:29 | x : String | provenance | |
| TestHttp.java:16:20:16:26 | taint(...) : String | TestHttp.java:20:29:20:29 | x : String | provenance | |
| TestHttp.java:17:29:17:29 | x : String | TestHttp.java:17:14:17:30 | new HttpEntity<>(...) | provenance | MaD:7 |
| TestHttp.java:20:29:20:29 | x : String | TestHttp.java:20:14:20:34 | new HttpEntity<>(...) | provenance | MaD:8 |
| TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:23:34:23:35 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:24:37:24:38 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:22:21:22:27 | taint(...) : String | TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | MaD:70 |
| TestHttp.java:23:34:23:35 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:23:14:23:36 | new HttpEntity<>(...) | provenance | MaD:9 |
| TestHttp.java:24:37:24:38 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:24:14:24:39 | new HttpEntity<String>(...) | provenance | MaD:6 |
| TestHttp.java:27:9:27:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:28:37:28:38 | m2 : LinkedMultiValueMap [<map.key>] : String | provenance | |
| TestHttp.java:27:16:27:22 | taint(...) : String | TestHttp.java:27:9:27:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | provenance | MaD:69 |
| TestHttp.java:28:37:28:38 | m2 : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:28:14:28:39 | new HttpEntity<String>(...) | provenance | MaD:5 |
| TestHttp.java:30:34:30:40 | taint(...) : HttpEntity | TestHttp.java:31:14:31:16 | ent : HttpEntity | provenance | |
| TestHttp.java:30:34:30:40 | taint(...) : HttpEntity | TestHttp.java:32:14:32:16 | ent : HttpEntity | provenance | |
| TestHttp.java:31:14:31:16 | ent : HttpEntity | TestHttp.java:31:14:31:26 | getBody(...) | provenance | MaD:10 |
| TestHttp.java:32:14:32:16 | ent : HttpEntity | TestHttp.java:32:14:32:29 | getHeaders(...) | provenance | MaD:11 |
| TestHttp.java:34:37:34:43 | taint(...) : RequestEntity | TestHttp.java:35:14:35:16 | req : RequestEntity | provenance | |
| TestHttp.java:35:14:35:16 | req : RequestEntity | TestHttp.java:35:14:35:25 | getUrl(...) | provenance | MaD:41 |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:40:14:40:33 | ok(...) | provenance | SpringResponseEntity |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:40:32:40:32 | x : String | provenance | |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:41:44:41:44 | x : String | provenance | |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:43:14:43:67 | body(...) | provenance | SpringResponseEntityBodyBuilder |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:43:66:43:66 | x : String | provenance | |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:45:48:45:48 | x : String | provenance | |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:46:63:46:63 | x : String | provenance | |
| TestHttp.java:39:20:39:26 | taint(...) : String | TestHttp.java:50:46:50:46 | x : String | provenance | |
| TestHttp.java:40:32:40:32 | x : String | TestHttp.java:40:14:40:33 | ok(...) | provenance | MaD:53 |
| TestHttp.java:41:32:41:45 | of(...) : Optional [<element>] : String | TestHttp.java:41:14:41:46 | of(...) | provenance | MaD:52 |
| TestHttp.java:41:44:41:44 | x : String | TestHttp.java:41:32:41:45 | of(...) : Optional [<element>] : String | provenance | MaD:4 |
| TestHttp.java:43:66:43:66 | x : String | TestHttp.java:43:14:43:67 | body(...) | provenance | MaD:55 |
| TestHttp.java:44:14:44:44 | created(...) : BodyBuilder | TestHttp.java:44:14:44:62 | contentType(...) : BodyBuilder | provenance | MaD:56 |
| TestHttp.java:44:14:44:62 | contentType(...) : BodyBuilder | TestHttp.java:44:14:44:72 | body(...) | provenance | MaD:54 |
| TestHttp.java:44:37:44:43 | taint(...) : URI | TestHttp.java:44:14:44:44 | created(...) : BodyBuilder | provenance | MaD:51 |
| TestHttp.java:45:14:45:64 | header(...) : BodyBuilder | TestHttp.java:45:14:45:72 | build(...) | provenance | MaD:58 |
| TestHttp.java:45:48:45:48 | x : String | TestHttp.java:45:14:45:64 | header(...) : BodyBuilder | provenance | MaD:62+MaD:61 |
| TestHttp.java:46:14:46:64 | header(...) : BodyBuilder | TestHttp.java:46:14:46:72 | build(...) | provenance | MaD:58 |
| TestHttp.java:46:14:46:64 | new ..[] { .. } : String[] [[]] : String | TestHttp.java:46:14:46:64 | header(...) : BodyBuilder | provenance | MaD:63+MaD:61 |
| TestHttp.java:46:63:46:63 | x : String | TestHttp.java:46:14:46:64 | new ..[] { .. } : String[] [[]] : String | provenance | |
| TestHttp.java:48:9:48:9 | h [post update] : HttpHeaders | TestHttp.java:49:49:49:49 | h : HttpHeaders | provenance | |
| TestHttp.java:48:20:48:26 | taint(...) : String | TestHttp.java:48:9:48:9 | h [post update] : HttpHeaders | provenance | MaD:14 |
| TestHttp.java:49:14:49:50 | headers(...) : BodyBuilder | TestHttp.java:49:14:49:58 | allow(...) : BodyBuilder | provenance | MaD:57 |
| TestHttp.java:49:14:49:58 | allow(...) : BodyBuilder | TestHttp.java:49:14:49:66 | build(...) | provenance | MaD:58 |
| TestHttp.java:49:49:49:49 | h : HttpHeaders | TestHttp.java:49:14:49:50 | headers(...) : BodyBuilder | provenance | MaD:65+MaD:64 |
| TestHttp.java:50:14:50:47 | eTag(...) : BodyBuilder | TestHttp.java:50:14:50:55 | allow(...) : BodyBuilder | provenance | MaD:57 |
| TestHttp.java:50:14:50:55 | allow(...) : BodyBuilder | TestHttp.java:50:14:50:63 | build(...) | provenance | MaD:58 |
| TestHttp.java:50:46:50:46 | x : String | TestHttp.java:50:14:50:47 | eTag(...) : BodyBuilder | provenance | MaD:60+MaD:59 |
| TestHttp.java:51:14:51:57 | location(...) : BodyBuilder | TestHttp.java:51:14:51:80 | lastModified(...) : BodyBuilder | provenance | MaD:66 |
| TestHttp.java:51:14:51:80 | lastModified(...) : BodyBuilder | TestHttp.java:51:14:51:88 | build(...) | provenance | MaD:58 |
| TestHttp.java:51:50:51:56 | taint(...) : URI | TestHttp.java:51:14:51:57 | location(...) : BodyBuilder | provenance | MaD:68+MaD:67 |
| TestHttp.java:56:20:56:26 | taint(...) : String | TestHttp.java:59:33:59:33 | x : String | provenance | |
| TestHttp.java:56:20:56:26 | taint(...) : String | TestHttp.java:60:33:60:33 | x : String | provenance | |
| TestHttp.java:56:20:56:26 | taint(...) : String | TestHttp.java:61:33:61:33 | x : String | provenance | |
| TestHttp.java:59:33:59:33 | x : String | TestHttp.java:59:14:59:55 | new ResponseEntity<>(...) | provenance | MaD:44 |
| TestHttp.java:60:33:60:33 | x : String | TestHttp.java:60:14:60:59 | new ResponseEntity<>(...) | provenance | MaD:45 |
| TestHttp.java:61:33:61:33 | x : String | TestHttp.java:61:14:61:43 | new ResponseEntity<>(...) | provenance | MaD:48 |
| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:64:38:64:39 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:65:41:65:42 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:66:38:66:39 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:63:21:63:27 | taint(...) : String | TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | MaD:70 |
| TestHttp.java:64:38:64:39 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:64:14:64:61 | new ResponseEntity<>(...) | provenance | MaD:47 |
| TestHttp.java:65:41:65:42 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:65:14:65:64 | new ResponseEntity<String>(...) | provenance | MaD:43 |
| TestHttp.java:66:38:66:39 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:66:14:66:45 | new ResponseEntity<>(...) | provenance | MaD:50 |
| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:70:38:70:39 | m2 : LinkedMultiValueMap [<map.key>] : String | provenance | |
| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:71:41:71:42 | m2 : LinkedMultiValueMap [<map.key>] : String | provenance | |
| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:72:38:72:39 | m2 : LinkedMultiValueMap [<map.key>] : String | provenance | |
| TestHttp.java:69:16:69:22 | taint(...) : String | TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | provenance | MaD:69 |
| TestHttp.java:70:38:70:39 | m2 : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:70:14:70:61 | new ResponseEntity<>(...) | provenance | MaD:46 |
| TestHttp.java:71:41:71:42 | m2 : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:71:14:71:64 | new ResponseEntity<String>(...) | provenance | MaD:42 |
| TestHttp.java:72:38:72:39 | m2 : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:72:14:72:45 | new ResponseEntity<>(...) | provenance | MaD:49 |
| TestHttp.java:74:38:74:44 | taint(...) : ResponseEntity | TestHttp.java:75:14:75:16 | ent : ResponseEntity | provenance | |
| TestHttp.java:74:38:74:44 | taint(...) : ResponseEntity | TestHttp.java:76:14:76:16 | ent : ResponseEntity | provenance | |
| TestHttp.java:75:14:75:16 | ent : ResponseEntity | TestHttp.java:75:14:75:26 | getBody(...) | provenance | MaD:10 |
| TestHttp.java:76:14:76:16 | ent : ResponseEntity | TestHttp.java:76:14:76:29 | getHeaders(...) | provenance | MaD:11 |
| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:82:30:82:31 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:112:40:112:41 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | |
| TestHttp.java:81:21:81:27 | taint(...) : String | TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | provenance | MaD:70 |
| TestHttp.java:82:30:82:31 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:82:14:82:32 | new HttpHeaders(...) | provenance | MaD:13 |
| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:86:30:86:31 | m2 : LinkedMultiValueMap [<map.key>] : String | provenance | |
| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:101:19:101:20 | m2 : LinkedMultiValueMap [<map.key>] : String | provenance | |
| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:113:40:113:41 | m2 : LinkedMultiValueMap [<map.key>] : String | provenance | |
| TestHttp.java:85:16:85:22 | taint(...) : String | TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | provenance | MaD:69 |
| TestHttp.java:86:30:86:31 | m2 : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:86:14:86:32 | new HttpHeaders(...) | provenance | MaD:12 |
| TestHttp.java:89:9:89:10 | h1 [post update] : HttpHeaders | TestHttp.java:90:14:90:15 | h1 | provenance | |
| TestHttp.java:89:16:89:22 | taint(...) : String | TestHttp.java:89:9:89:10 | h1 [post update] : HttpHeaders | provenance | MaD:14 |
| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders | TestHttp.java:94:14:94:15 | h2 | provenance | |
| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders [<map.value>, <element>] : String | TestHttp.java:94:14:94:15 | h2 | provenance | |
| TestHttp.java:93:21:93:27 | taint(...) : String | TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders | provenance | MaD:14 |
| TestHttp.java:93:21:93:27 | taint(...) : String | TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders [<map.value>, <element>] : String | provenance | MaD:70 |
| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders | TestHttp.java:98:14:98:15 | h3 | provenance | |
| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders [<map.value>, <element>] : String | TestHttp.java:98:14:98:15 | h3 | provenance | |
| TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders | provenance | MaD:16 |
| TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders [<map.value>, <element>] : String | provenance | MaD:72 |
| TestHttp.java:101:9:101:10 | h4 [post update] : HttpHeaders | TestHttp.java:102:14:102:15 | h4 | provenance | |
| TestHttp.java:101:19:101:20 | m2 : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:101:9:101:10 | h4 [post update] : HttpHeaders | provenance | MaD:15 |
| TestHttp.java:105:9:105:10 | h5 [post update] : HttpHeaders | TestHttp.java:106:14:106:15 | h5 | provenance | |
| TestHttp.java:105:19:105:25 | taint(...) : String | TestHttp.java:105:9:105:10 | h5 [post update] : HttpHeaders | provenance | MaD:17 |
| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders | TestHttp.java:110:14:110:15 | h6 | provenance | |
| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders [<map.value>, <element>] : Object | TestHttp.java:110:14:110:15 | h6 | provenance | |
| TestHttp.java:109:24:109:39 | of(...) : List [<element>] : Object | TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders | provenance | MaD:18 |
| TestHttp.java:109:24:109:39 | of(...) : List [<element>] : Object | TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders [<map.value>, <element>] : Object | provenance | MaD:71 |
| TestHttp.java:109:32:109:38 | taint(...) : String[] | TestHttp.java:109:24:109:39 | of(...) : List [<element>] : Object | provenance | MaD:2 |
| TestHttp.java:112:40:112:41 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | TestHttp.java:112:14:112:42 | formatHeaders(...) | provenance | MaD:21 |
| TestHttp.java:113:40:113:41 | m2 : LinkedMultiValueMap [<map.key>] : String | TestHttp.java:113:14:113:42 | formatHeaders(...) | provenance | MaD:20 |
| TestHttp.java:115:42:115:48 | taint(...) : String | TestHttp.java:115:14:115:60 | encodeBasicAuth(...) | provenance | MaD:19 |
| TestHttp.java:116:47:116:53 | taint(...) : String | TestHttp.java:116:14:116:60 | encodeBasicAuth(...) | provenance | MaD:19 |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:122:14:122:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:128:14:128:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:130:14:130:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:131:14:131:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:133:14:133:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:136:14:136:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:137:14:137:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:143:14:143:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:145:14:145:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:148:14:148:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:149:14:149:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:151:14:151:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:154:14:154:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:155:14:155:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:156:14:156:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:157:14:157:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:158:14:158:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:159:14:159:14 | h : HttpHeaders | provenance | |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | TestHttp.java:160:14:160:14 | h : HttpHeaders | provenance | |
| TestHttp.java:122:14:122:14 | h : HttpHeaders | TestHttp.java:122:14:122:24 | get(...) : List | provenance | MaD:3 |
| TestHttp.java:122:14:122:14 | h : HttpHeaders | TestHttp.java:122:14:122:24 | get(...) : List [<element>] : Object | provenance | MaD:22 |
| TestHttp.java:122:14:122:24 | get(...) : List | TestHttp.java:122:14:122:31 | get(...) | provenance | MaD:1 |
| TestHttp.java:122:14:122:24 | get(...) : List [<element>] : Object | TestHttp.java:122:14:122:31 | get(...) | provenance | MaD:1 |
| TestHttp.java:128:14:128:14 | h : HttpHeaders | TestHttp.java:128:14:128:45 | getAccessControlAllowHeaders(...) : List [<element>] : Object | provenance | MaD:23 |
| TestHttp.java:128:14:128:45 | getAccessControlAllowHeaders(...) : List [<element>] : Object | TestHttp.java:128:14:128:52 | get(...) | provenance | MaD:1 |
| TestHttp.java:130:14:130:14 | h : HttpHeaders | TestHttp.java:130:14:130:44 | getAccessControlAllowOrigin(...) | provenance | MaD:24 |
| TestHttp.java:131:14:131:14 | h : HttpHeaders | TestHttp.java:131:14:131:46 | getAccessControlExposeHeaders(...) : List [<element>] : Object | provenance | MaD:25 |
| TestHttp.java:131:14:131:46 | getAccessControlExposeHeaders(...) : List [<element>] : Object | TestHttp.java:131:14:131:53 | get(...) | provenance | MaD:1 |
| TestHttp.java:133:14:133:14 | h : HttpHeaders | TestHttp.java:133:14:133:47 | getAccessControlRequestHeaders(...) : List [<element>] : Object | provenance | MaD:26 |
| TestHttp.java:133:14:133:47 | getAccessControlRequestHeaders(...) : List [<element>] : Object | TestHttp.java:133:14:133:54 | get(...) | provenance | MaD:1 |
| TestHttp.java:136:14:136:14 | h : HttpHeaders | TestHttp.java:136:14:136:32 | getCacheControl(...) | provenance | MaD:27 |
| TestHttp.java:137:14:137:14 | h : HttpHeaders | TestHttp.java:137:14:137:30 | getConnection(...) : List [<element>] : Object | provenance | MaD:28 |
| TestHttp.java:137:14:137:30 | getConnection(...) : List [<element>] : Object | TestHttp.java:137:14:137:37 | get(...) | provenance | MaD:1 |
| TestHttp.java:143:14:143:14 | h : HttpHeaders | TestHttp.java:143:14:143:24 | getETag(...) | provenance | MaD:29 |
| TestHttp.java:145:14:145:14 | h : HttpHeaders | TestHttp.java:145:14:145:28 | getFirst(...) | provenance | MaD:30 |
| TestHttp.java:145:14:145:14 | h : HttpHeaders | TestHttp.java:145:14:145:28 | getFirst(...) | provenance | MaD:73 |
| TestHttp.java:148:14:148:14 | h : HttpHeaders | TestHttp.java:148:14:148:24 | getHost(...) | provenance | MaD:31 |
| TestHttp.java:149:14:149:14 | h : HttpHeaders | TestHttp.java:149:14:149:27 | getIfMatch(...) : List [<element>] : Object | provenance | MaD:32 |
| TestHttp.java:149:14:149:27 | getIfMatch(...) : List [<element>] : Object | TestHttp.java:149:14:149:34 | get(...) | provenance | MaD:1 |
| TestHttp.java:151:14:151:14 | h : HttpHeaders | TestHttp.java:151:14:151:31 | getIfNoneMatch(...) : List [<element>] : Object | provenance | MaD:33 |
| TestHttp.java:151:14:151:31 | getIfNoneMatch(...) : List [<element>] : Object | TestHttp.java:151:14:151:38 | get(...) | provenance | MaD:1 |
| TestHttp.java:154:14:154:14 | h : HttpHeaders | TestHttp.java:154:14:154:28 | getLocation(...) | provenance | MaD:34 |
| TestHttp.java:155:14:155:14 | h : HttpHeaders | TestHttp.java:155:14:155:30 | getOrEmpty(...) : List [<element>] : Object | provenance | MaD:35 |
| TestHttp.java:155:14:155:30 | getOrEmpty(...) : List [<element>] : Object | TestHttp.java:155:14:155:37 | get(...) | provenance | MaD:1 |
| TestHttp.java:156:14:156:14 | h : HttpHeaders | TestHttp.java:156:14:156:26 | getOrigin(...) | provenance | MaD:36 |
| TestHttp.java:157:14:157:14 | h : HttpHeaders | TestHttp.java:157:14:157:26 | getPragma(...) | provenance | MaD:37 |
| TestHttp.java:158:14:158:14 | h : HttpHeaders | TestHttp.java:158:14:158:27 | getUpgrade(...) | provenance | MaD:38 |
| TestHttp.java:159:14:159:14 | h : HttpHeaders | TestHttp.java:159:14:159:35 | getValuesAsList(...) : List [<element>] : Object | provenance | MaD:39 |
| TestHttp.java:159:14:159:35 | getValuesAsList(...) : List [<element>] : Object | TestHttp.java:159:14:159:42 | get(...) | provenance | MaD:1 |
| TestHttp.java:160:14:160:14 | h : HttpHeaders | TestHttp.java:160:14:160:24 | getVary(...) : List [<element>] : Object | provenance | MaD:40 |
| TestHttp.java:160:14:160:24 | getVary(...) : List [<element>] : Object | TestHttp.java:160:14:160:31 | get(...) | provenance | MaD:1 |
nodes
| TestHttp.java:16:20:16:26 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:17:14:17:30 | new HttpEntity<>(...) | semmle.label | new HttpEntity<>(...) |
| TestHttp.java:17:29:17:29 | x : String | semmle.label | x : String |
| TestHttp.java:20:14:20:34 | new HttpEntity<>(...) | semmle.label | new HttpEntity<>(...) |
| TestHttp.java:20:29:20:29 | x : String | semmle.label | x : String |
| TestHttp.java:22:9:22:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:22:21:22:27 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:23:14:23:36 | new HttpEntity<>(...) | semmle.label | new HttpEntity<>(...) |
| TestHttp.java:23:34:23:35 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:24:14:24:39 | new HttpEntity<String>(...) | semmle.label | new HttpEntity<String>(...) |
| TestHttp.java:24:37:24:38 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:27:9:27:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 [post update] : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:27:16:27:22 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:28:14:28:39 | new HttpEntity<String>(...) | semmle.label | new HttpEntity<String>(...) |
| TestHttp.java:28:37:28:38 | m2 : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:30:34:30:40 | taint(...) : HttpEntity | semmle.label | taint(...) : HttpEntity |
| TestHttp.java:31:14:31:16 | ent : HttpEntity | semmle.label | ent : HttpEntity |
| TestHttp.java:31:14:31:26 | getBody(...) | semmle.label | getBody(...) |
| TestHttp.java:32:14:32:16 | ent : HttpEntity | semmle.label | ent : HttpEntity |
| TestHttp.java:32:14:32:29 | getHeaders(...) | semmle.label | getHeaders(...) |
| TestHttp.java:34:37:34:43 | taint(...) : RequestEntity | semmle.label | taint(...) : RequestEntity |
| TestHttp.java:35:14:35:16 | req : RequestEntity | semmle.label | req : RequestEntity |
| TestHttp.java:35:14:35:25 | getUrl(...) | semmle.label | getUrl(...) |
| TestHttp.java:39:20:39:26 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:40:14:40:33 | ok(...) | semmle.label | ok(...) |
| TestHttp.java:40:32:40:32 | x : String | semmle.label | x : String |
| TestHttp.java:41:14:41:46 | of(...) | semmle.label | of(...) |
| TestHttp.java:41:32:41:45 | of(...) : Optional [<element>] : String | semmle.label | of(...) : Optional [<element>] : String |
| TestHttp.java:41:44:41:44 | x : String | semmle.label | x : String |
| TestHttp.java:43:14:43:67 | body(...) | semmle.label | body(...) |
| TestHttp.java:43:66:43:66 | x : String | semmle.label | x : String |
| TestHttp.java:44:14:44:44 | created(...) : BodyBuilder | semmle.label | created(...) : BodyBuilder |
| TestHttp.java:44:14:44:62 | contentType(...) : BodyBuilder | semmle.label | contentType(...) : BodyBuilder |
| TestHttp.java:44:14:44:72 | body(...) | semmle.label | body(...) |
| TestHttp.java:44:37:44:43 | taint(...) : URI | semmle.label | taint(...) : URI |
| TestHttp.java:45:14:45:64 | header(...) : BodyBuilder | semmle.label | header(...) : BodyBuilder |
| TestHttp.java:45:14:45:72 | build(...) | semmle.label | build(...) |
| TestHttp.java:45:48:45:48 | x : String | semmle.label | x : String |
| TestHttp.java:46:14:46:64 | header(...) : BodyBuilder | semmle.label | header(...) : BodyBuilder |
| TestHttp.java:46:14:46:64 | new ..[] { .. } : String[] [[]] : String | semmle.label | new ..[] { .. } : String[] [[]] : String |
| TestHttp.java:46:14:46:72 | build(...) | semmle.label | build(...) |
| TestHttp.java:46:63:46:63 | x : String | semmle.label | x : String |
| TestHttp.java:48:9:48:9 | h [post update] : HttpHeaders | semmle.label | h [post update] : HttpHeaders |
| TestHttp.java:48:20:48:26 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:49:14:49:50 | headers(...) : BodyBuilder | semmle.label | headers(...) : BodyBuilder |
| TestHttp.java:49:14:49:58 | allow(...) : BodyBuilder | semmle.label | allow(...) : BodyBuilder |
| TestHttp.java:49:14:49:66 | build(...) | semmle.label | build(...) |
| TestHttp.java:49:49:49:49 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:50:14:50:47 | eTag(...) : BodyBuilder | semmle.label | eTag(...) : BodyBuilder |
| TestHttp.java:50:14:50:55 | allow(...) : BodyBuilder | semmle.label | allow(...) : BodyBuilder |
| TestHttp.java:50:14:50:63 | build(...) | semmle.label | build(...) |
| TestHttp.java:50:46:50:46 | x : String | semmle.label | x : String |
| TestHttp.java:51:14:51:57 | location(...) : BodyBuilder | semmle.label | location(...) : BodyBuilder |
| TestHttp.java:51:14:51:80 | lastModified(...) : BodyBuilder | semmle.label | lastModified(...) : BodyBuilder |
| TestHttp.java:51:14:51:88 | build(...) | semmle.label | build(...) |
| TestHttp.java:51:50:51:56 | taint(...) : URI | semmle.label | taint(...) : URI |
| TestHttp.java:56:20:56:26 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:59:14:59:55 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) |
| TestHttp.java:59:33:59:33 | x : String | semmle.label | x : String |
| TestHttp.java:60:14:60:59 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) |
| TestHttp.java:60:33:60:33 | x : String | semmle.label | x : String |
| TestHttp.java:61:14:61:43 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) |
| TestHttp.java:61:33:61:33 | x : String | semmle.label | x : String |
| TestHttp.java:63:9:63:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:63:21:63:27 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:64:14:64:61 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) |
| TestHttp.java:64:38:64:39 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:65:14:65:64 | new ResponseEntity<String>(...) | semmle.label | new ResponseEntity<String>(...) |
| TestHttp.java:65:41:65:42 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:66:14:66:45 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) |
| TestHttp.java:66:38:66:39 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:69:9:69:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 [post update] : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:69:16:69:22 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:70:14:70:61 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) |
| TestHttp.java:70:38:70:39 | m2 : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:71:14:71:64 | new ResponseEntity<String>(...) | semmle.label | new ResponseEntity<String>(...) |
| TestHttp.java:71:41:71:42 | m2 : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:72:14:72:45 | new ResponseEntity<>(...) | semmle.label | new ResponseEntity<>(...) |
| TestHttp.java:72:38:72:39 | m2 : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:74:38:74:44 | taint(...) : ResponseEntity | semmle.label | taint(...) : ResponseEntity |
| TestHttp.java:75:14:75:16 | ent : ResponseEntity | semmle.label | ent : ResponseEntity |
| TestHttp.java:75:14:75:26 | getBody(...) | semmle.label | getBody(...) |
| TestHttp.java:76:14:76:16 | ent : ResponseEntity | semmle.label | ent : ResponseEntity |
| TestHttp.java:76:14:76:29 | getHeaders(...) | semmle.label | getHeaders(...) |
| TestHttp.java:81:9:81:10 | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 [post update] : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:81:21:81:27 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:82:14:82:32 | new HttpHeaders(...) | semmle.label | new HttpHeaders(...) |
| TestHttp.java:82:30:82:31 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:85:9:85:10 | m2 [post update] : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 [post update] : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:85:16:85:22 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:86:14:86:32 | new HttpHeaders(...) | semmle.label | new HttpHeaders(...) |
| TestHttp.java:86:30:86:31 | m2 : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:89:9:89:10 | h1 [post update] : HttpHeaders | semmle.label | h1 [post update] : HttpHeaders |
| TestHttp.java:89:16:89:22 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:90:14:90:15 | h1 | semmle.label | h1 |
| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders | semmle.label | h2 [post update] : HttpHeaders |
| TestHttp.java:93:9:93:10 | h2 [post update] : HttpHeaders [<map.value>, <element>] : String | semmle.label | h2 [post update] : HttpHeaders [<map.value>, <element>] : String |
| TestHttp.java:93:21:93:27 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:94:14:94:15 | h2 | semmle.label | h2 |
| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders | semmle.label | h3 [post update] : HttpHeaders |
| TestHttp.java:97:9:97:10 | h3 [post update] : HttpHeaders [<map.value>, <element>] : String | semmle.label | h3 [post update] : HttpHeaders [<map.value>, <element>] : String |
| TestHttp.java:97:19:97:20 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:98:14:98:15 | h3 | semmle.label | h3 |
| TestHttp.java:101:9:101:10 | h4 [post update] : HttpHeaders | semmle.label | h4 [post update] : HttpHeaders |
| TestHttp.java:101:19:101:20 | m2 : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:102:14:102:15 | h4 | semmle.label | h4 |
| TestHttp.java:105:9:105:10 | h5 [post update] : HttpHeaders | semmle.label | h5 [post update] : HttpHeaders |
| TestHttp.java:105:19:105:25 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:106:14:106:15 | h5 | semmle.label | h5 |
| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders | semmle.label | h6 [post update] : HttpHeaders |
| TestHttp.java:109:9:109:10 | h6 [post update] : HttpHeaders [<map.value>, <element>] : Object | semmle.label | h6 [post update] : HttpHeaders [<map.value>, <element>] : Object |
| TestHttp.java:109:24:109:39 | of(...) : List [<element>] : Object | semmle.label | of(...) : List [<element>] : Object |
| TestHttp.java:109:32:109:38 | taint(...) : String[] | semmle.label | taint(...) : String[] |
| TestHttp.java:110:14:110:15 | h6 | semmle.label | h6 |
| TestHttp.java:112:14:112:42 | formatHeaders(...) | semmle.label | formatHeaders(...) |
| TestHttp.java:112:40:112:41 | m1 : LinkedMultiValueMap [<map.value>, <element>] : String | semmle.label | m1 : LinkedMultiValueMap [<map.value>, <element>] : String |
| TestHttp.java:113:14:113:42 | formatHeaders(...) | semmle.label | formatHeaders(...) |
| TestHttp.java:113:40:113:41 | m2 : LinkedMultiValueMap [<map.key>] : String | semmle.label | m2 : LinkedMultiValueMap [<map.key>] : String |
| TestHttp.java:115:14:115:60 | encodeBasicAuth(...) | semmle.label | encodeBasicAuth(...) |
| TestHttp.java:115:42:115:48 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:116:14:116:60 | encodeBasicAuth(...) | semmle.label | encodeBasicAuth(...) |
| TestHttp.java:116:47:116:53 | taint(...) : String | semmle.label | taint(...) : String |
| TestHttp.java:120:25:120:31 | taint(...) : HttpHeaders | semmle.label | taint(...) : HttpHeaders |
| TestHttp.java:122:14:122:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:122:14:122:24 | get(...) : List | semmle.label | get(...) : List |
| TestHttp.java:122:14:122:24 | get(...) : List [<element>] : Object | semmle.label | get(...) : List [<element>] : Object |
| TestHttp.java:122:14:122:31 | get(...) | semmle.label | get(...) |
| TestHttp.java:128:14:128:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:128:14:128:45 | getAccessControlAllowHeaders(...) : List [<element>] : Object | semmle.label | getAccessControlAllowHeaders(...) : List [<element>] : Object |
| TestHttp.java:128:14:128:52 | get(...) | semmle.label | get(...) |
| TestHttp.java:130:14:130:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:130:14:130:44 | getAccessControlAllowOrigin(...) | semmle.label | getAccessControlAllowOrigin(...) |
| TestHttp.java:131:14:131:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:131:14:131:46 | getAccessControlExposeHeaders(...) : List [<element>] : Object | semmle.label | getAccessControlExposeHeaders(...) : List [<element>] : Object |
| TestHttp.java:131:14:131:53 | get(...) | semmle.label | get(...) |
| TestHttp.java:133:14:133:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:133:14:133:47 | getAccessControlRequestHeaders(...) : List [<element>] : Object | semmle.label | getAccessControlRequestHeaders(...) : List [<element>] : Object |
| TestHttp.java:133:14:133:54 | get(...) | semmle.label | get(...) |
| TestHttp.java:136:14:136:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:136:14:136:32 | getCacheControl(...) | semmle.label | getCacheControl(...) |
| TestHttp.java:137:14:137:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:137:14:137:30 | getConnection(...) : List [<element>] : Object | semmle.label | getConnection(...) : List [<element>] : Object |
| TestHttp.java:137:14:137:37 | get(...) | semmle.label | get(...) |
| TestHttp.java:143:14:143:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:143:14:143:24 | getETag(...) | semmle.label | getETag(...) |
| TestHttp.java:145:14:145:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:145:14:145:28 | getFirst(...) | semmle.label | getFirst(...) |
| TestHttp.java:148:14:148:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:148:14:148:24 | getHost(...) | semmle.label | getHost(...) |
| TestHttp.java:149:14:149:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:149:14:149:27 | getIfMatch(...) : List [<element>] : Object | semmle.label | getIfMatch(...) : List [<element>] : Object |
| TestHttp.java:149:14:149:34 | get(...) | semmle.label | get(...) |
| TestHttp.java:151:14:151:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:151:14:151:31 | getIfNoneMatch(...) : List [<element>] : Object | semmle.label | getIfNoneMatch(...) : List [<element>] : Object |
| TestHttp.java:151:14:151:38 | get(...) | semmle.label | get(...) |
| TestHttp.java:154:14:154:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:154:14:154:28 | getLocation(...) | semmle.label | getLocation(...) |
| TestHttp.java:155:14:155:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:155:14:155:30 | getOrEmpty(...) : List [<element>] : Object | semmle.label | getOrEmpty(...) : List [<element>] : Object |
| TestHttp.java:155:14:155:37 | get(...) | semmle.label | get(...) |
| TestHttp.java:156:14:156:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:156:14:156:26 | getOrigin(...) | semmle.label | getOrigin(...) |
| TestHttp.java:157:14:157:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:157:14:157:26 | getPragma(...) | semmle.label | getPragma(...) |
| TestHttp.java:158:14:158:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:158:14:158:27 | getUpgrade(...) | semmle.label | getUpgrade(...) |
| TestHttp.java:159:14:159:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:159:14:159:35 | getValuesAsList(...) : List [<element>] : Object | semmle.label | getValuesAsList(...) : List [<element>] : Object |
| TestHttp.java:159:14:159:42 | get(...) | semmle.label | get(...) |
| TestHttp.java:160:14:160:14 | h : HttpHeaders | semmle.label | h : HttpHeaders |
| TestHttp.java:160:14:160:24 | getVary(...) : List [<element>] : Object | semmle.label | getVary(...) : List [<element>] : Object |
| TestHttp.java:160:14:160:31 | get(...) | semmle.label | get(...) |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,132 @@
models
| 1 | Summary: org.springframework.validation; Errors; true; addAllErrors; ; ; Argument[0]; Argument[this]; taint; manual |
| 2 | Summary: org.springframework.validation; Errors; true; getAllErrors; ; ; Argument[this]; ReturnValue; taint; manual |
| 3 | Summary: org.springframework.validation; Errors; true; getFieldError; ; ; Argument[this]; ReturnValue; taint; manual |
| 4 | Summary: org.springframework.validation; Errors; true; getGlobalError; ; ; Argument[this]; ReturnValue; taint; manual |
| 5 | Summary: org.springframework.validation; Errors; true; getGlobalErrors; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: org.springframework.validation; Errors; true; reject; ; ; Argument[0]; Argument[this]; taint; manual |
| 7 | Summary: org.springframework.validation; Errors; true; reject; ; ; Argument[1].ArrayElement; Argument[this]; taint; manual |
| 8 | Summary: org.springframework.validation; Errors; true; reject; ; ; Argument[2]; Argument[this]; taint; manual |
| 9 | Summary: org.springframework.validation; Errors; true; rejectValue; ; ; Argument[1]; Argument[this]; taint; manual |
| 10 | Summary: org.springframework.validation; Errors; true; rejectValue; ; ; Argument[3]; Argument[this]; taint; manual |
| 11 | Summary: org.springframework.validation; Errors; true; rejectValue; (java.lang.String,java.lang.String,java.lang.Object[],java.lang.String); ; Argument[2].ArrayElement; Argument[this]; taint; manual |
| 12 | Summary: org.springframework.validation; Errors; true; rejectValue; (java.lang.String,java.lang.String,java.lang.String); ; Argument[2]; Argument[this]; taint; manual |
edges
| Test.java:6:32:6:47 | (...)... : Errors | Test.java:13:22:13:33 | sourceErrs(...) : Errors | provenance | |
| Test.java:6:32:6:47 | (...)... : Errors | Test.java:16:10:16:21 | sourceErrs(...) : Errors | provenance | |
| Test.java:6:32:6:47 | (...)... : Errors | Test.java:18:10:18:21 | sourceErrs(...) : Errors | provenance | |
| Test.java:6:32:6:47 | (...)... : Errors | Test.java:19:10:19:21 | sourceErrs(...) : Errors | provenance | |
| Test.java:6:32:6:47 | (...)... : Errors | Test.java:21:10:21:21 | sourceErrs(...) : Errors | provenance | |
| Test.java:6:32:6:47 | (...)... : Errors | Test.java:22:10:22:21 | sourceErrs(...) : Errors | provenance | |
| Test.java:6:40:6:47 | source(...) : Object | Test.java:6:32:6:47 | (...)... : Errors | provenance | |
| Test.java:13:5:13:7 | es0 [post update] : Errors | Test.java:14:10:14:12 | es0 | provenance | |
| Test.java:13:22:13:33 | sourceErrs(...) : Errors | Test.java:13:5:13:7 | es0 [post update] : Errors | provenance | MaD:1 |
| Test.java:16:10:16:21 | sourceErrs(...) : Errors | Test.java:16:10:16:36 | getAllErrors(...) | provenance | MaD:2 |
| Test.java:18:10:18:21 | sourceErrs(...) : Errors | Test.java:18:10:18:37 | getFieldError(...) | provenance | MaD:3 |
| Test.java:19:10:19:21 | sourceErrs(...) : Errors | Test.java:19:10:19:44 | getFieldError(...) | provenance | MaD:3 |
| Test.java:21:10:21:21 | sourceErrs(...) : Errors | Test.java:21:10:21:38 | getGlobalError(...) | provenance | MaD:4 |
| Test.java:22:10:22:21 | sourceErrs(...) : Errors | Test.java:22:10:22:39 | getGlobalErrors(...) | provenance | MaD:5 |
| Test.java:25:5:25:7 | es1 [post update] : Errors | Test.java:26:10:26:12 | es1 | provenance | |
| Test.java:25:16:25:31 | (...)... : String | Test.java:25:5:25:7 | es1 [post update] : Errors | provenance | MaD:6 |
| Test.java:25:24:25:31 | source(...) : Object | Test.java:25:16:25:31 | (...)... : String | provenance | |
| Test.java:29:5:29:7 | es2 [post update] : Errors | Test.java:30:10:30:12 | es2 | provenance | |
| Test.java:29:16:29:31 | (...)... : String | Test.java:29:5:29:7 | es2 [post update] : Errors | provenance | MaD:6 |
| Test.java:29:24:29:31 | source(...) : Object | Test.java:29:16:29:31 | (...)... : String | provenance | |
| Test.java:33:5:33:7 | es3 [post update] : Errors | Test.java:34:10:34:12 | es3 | provenance | |
| Test.java:33:16:33:31 | (...)... : String | Test.java:33:5:33:7 | es3 [post update] : Errors | provenance | MaD:6 |
| Test.java:33:24:33:31 | source(...) : Object | Test.java:33:16:33:31 | (...)... : String | provenance | |
| Test.java:38:21:38:40 | {...} : Object[] [[]] : String | Test.java:40:12:40:13 | in | provenance | |
| Test.java:38:23:38:38 | (...)... : String | Test.java:38:21:38:40 | {...} : Object[] [[]] : String | provenance | |
| Test.java:38:31:38:38 | source(...) : Object | Test.java:38:23:38:38 | (...)... : String | provenance | |
| Test.java:45:7:45:9 | es5 [post update] : Errors | Test.java:46:12:46:14 | es5 | provenance | |
| Test.java:45:28:45:43 | (...)... : String | Test.java:45:7:45:9 | es5 [post update] : Errors | provenance | MaD:8 |
| Test.java:45:36:45:43 | source(...) : Object | Test.java:45:28:45:43 | (...)... : String | provenance | |
| Test.java:50:5:50:7 | es6 [post update] : Errors | Test.java:51:10:51:12 | es6 | provenance | |
| Test.java:50:16:50:31 | (...)... : String | Test.java:50:5:50:7 | es6 [post update] : Errors | provenance | MaD:6 |
| Test.java:50:24:50:31 | source(...) : Object | Test.java:50:16:50:31 | (...)... : String | provenance | |
| Test.java:54:5:54:7 | es7 [post update] : Errors | Test.java:55:10:55:12 | es7 | provenance | |
| Test.java:54:20:54:35 | (...)... : String | Test.java:54:5:54:7 | es7 [post update] : Errors | provenance | MaD:7 |
| Test.java:54:28:54:35 | source(...) : Object | Test.java:54:20:54:35 | (...)... : String | provenance | |
| Test.java:58:5:58:7 | es8 [post update] : Errors | Test.java:59:10:59:12 | es8 | provenance | |
| Test.java:58:25:58:40 | (...)... : String | Test.java:58:5:58:7 | es8 [post update] : Errors | provenance | MaD:9 |
| Test.java:58:33:58:40 | source(...) : Object | Test.java:58:25:58:40 | (...)... : String | provenance | |
| Test.java:62:19:62:28 | {...} : Object[] [[]] : Object | Test.java:63:29:63:30 | in : Object[] [[]] : Object | provenance | |
| Test.java:62:20:62:27 | source(...) : Object | Test.java:62:19:62:28 | {...} : Object[] [[]] : Object | provenance | |
| Test.java:63:5:63:7 | es9 [post update] : Errors | Test.java:64:10:64:12 | es9 | provenance | |
| Test.java:63:29:63:30 | in : Object[] [[]] : Object | Test.java:63:5:63:7 | es9 [post update] : Errors | provenance | MaD:11 |
| Test.java:67:5:67:8 | es10 [post update] : Errors | Test.java:68:10:68:13 | es10 | provenance | |
| Test.java:67:36:67:51 | (...)... : String | Test.java:67:5:67:8 | es10 [post update] : Errors | provenance | MaD:10 |
| Test.java:67:44:67:51 | source(...) : Object | Test.java:67:36:67:51 | (...)... : String | provenance | |
| Test.java:71:5:71:8 | es11 [post update] : Errors | Test.java:72:10:72:13 | es11 | provenance | |
| Test.java:71:26:71:41 | (...)... : String | Test.java:71:5:71:8 | es11 [post update] : Errors | provenance | MaD:9 |
| Test.java:71:34:71:41 | source(...) : Object | Test.java:71:26:71:41 | (...)... : String | provenance | |
| Test.java:75:5:75:8 | es12 [post update] : Errors | Test.java:76:10:76:13 | es12 | provenance | |
| Test.java:75:30:75:45 | (...)... : String | Test.java:75:5:75:8 | es12 [post update] : Errors | provenance | MaD:12 |
| Test.java:75:38:75:45 | source(...) : Object | Test.java:75:30:75:45 | (...)... : String | provenance | |
nodes
| Test.java:6:32:6:47 | (...)... : Errors | semmle.label | (...)... : Errors |
| Test.java:6:40:6:47 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:13:5:13:7 | es0 [post update] : Errors | semmle.label | es0 [post update] : Errors |
| Test.java:13:22:13:33 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors |
| Test.java:14:10:14:12 | es0 | semmle.label | es0 |
| Test.java:16:10:16:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors |
| Test.java:16:10:16:36 | getAllErrors(...) | semmle.label | getAllErrors(...) |
| Test.java:18:10:18:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors |
| Test.java:18:10:18:37 | getFieldError(...) | semmle.label | getFieldError(...) |
| Test.java:19:10:19:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors |
| Test.java:19:10:19:44 | getFieldError(...) | semmle.label | getFieldError(...) |
| Test.java:21:10:21:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors |
| Test.java:21:10:21:38 | getGlobalError(...) | semmle.label | getGlobalError(...) |
| Test.java:22:10:22:21 | sourceErrs(...) : Errors | semmle.label | sourceErrs(...) : Errors |
| Test.java:22:10:22:39 | getGlobalErrors(...) | semmle.label | getGlobalErrors(...) |
| Test.java:25:5:25:7 | es1 [post update] : Errors | semmle.label | es1 [post update] : Errors |
| Test.java:25:16:25:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:25:24:25:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:26:10:26:12 | es1 | semmle.label | es1 |
| Test.java:29:5:29:7 | es2 [post update] : Errors | semmle.label | es2 [post update] : Errors |
| Test.java:29:16:29:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:29:24:29:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:30:10:30:12 | es2 | semmle.label | es2 |
| Test.java:33:5:33:7 | es3 [post update] : Errors | semmle.label | es3 [post update] : Errors |
| Test.java:33:16:33:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:33:24:33:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:34:10:34:12 | es3 | semmle.label | es3 |
| Test.java:38:21:38:40 | {...} : Object[] [[]] : String | semmle.label | {...} : Object[] [[]] : String |
| Test.java:38:23:38:38 | (...)... : String | semmle.label | (...)... : String |
| Test.java:38:31:38:38 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:40:12:40:13 | in | semmle.label | in |
| Test.java:45:7:45:9 | es5 [post update] : Errors | semmle.label | es5 [post update] : Errors |
| Test.java:45:28:45:43 | (...)... : String | semmle.label | (...)... : String |
| Test.java:45:36:45:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:46:12:46:14 | es5 | semmle.label | es5 |
| Test.java:50:5:50:7 | es6 [post update] : Errors | semmle.label | es6 [post update] : Errors |
| Test.java:50:16:50:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:50:24:50:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:51:10:51:12 | es6 | semmle.label | es6 |
| Test.java:54:5:54:7 | es7 [post update] : Errors | semmle.label | es7 [post update] : Errors |
| Test.java:54:20:54:35 | (...)... : String | semmle.label | (...)... : String |
| Test.java:54:28:54:35 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:55:10:55:12 | es7 | semmle.label | es7 |
| Test.java:58:5:58:7 | es8 [post update] : Errors | semmle.label | es8 [post update] : Errors |
| Test.java:58:25:58:40 | (...)... : String | semmle.label | (...)... : String |
| Test.java:58:33:58:40 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:59:10:59:12 | es8 | semmle.label | es8 |
| Test.java:62:19:62:28 | {...} : Object[] [[]] : Object | semmle.label | {...} : Object[] [[]] : Object |
| Test.java:62:20:62:27 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:63:5:63:7 | es9 [post update] : Errors | semmle.label | es9 [post update] : Errors |
| Test.java:63:29:63:30 | in : Object[] [[]] : Object | semmle.label | in : Object[] [[]] : Object |
| Test.java:64:10:64:12 | es9 | semmle.label | es9 |
| Test.java:67:5:67:8 | es10 [post update] : Errors | semmle.label | es10 [post update] : Errors |
| Test.java:67:36:67:51 | (...)... : String | semmle.label | (...)... : String |
| Test.java:67:44:67:51 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:68:10:68:13 | es10 | semmle.label | es10 |
| Test.java:71:5:71:8 | es11 [post update] : Errors | semmle.label | es11 [post update] : Errors |
| Test.java:71:26:71:41 | (...)... : String | semmle.label | (...)... : String |
| Test.java:71:34:71:41 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:72:10:72:13 | es11 | semmle.label | es11 |
| Test.java:75:5:75:8 | es12 [post update] : Errors | semmle.label | es12 [post update] : Errors |
| Test.java:75:30:75:45 | (...)... : String | semmle.label | (...)... : String |
| Test.java:75:38:75:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:76:10:76:13 | es12 | semmle.label | es12 |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,176 @@
models
| 1 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
| 2 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 3 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
| 4 | Summary: org.springframework.web.multipart; MultipartFile; true; getBytes; ; ; Argument[this]; ReturnValue; taint; manual |
| 5 | Summary: org.springframework.web.multipart; MultipartFile; true; getInputStream; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: org.springframework.web.multipart; MultipartFile; true; getName; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: org.springframework.web.multipart; MultipartFile; true; getOriginalFilename; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: org.springframework.web.multipart; MultipartFile; true; getResource; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: org.springframework.web.multipart; MultipartHttpServletRequest; true; getMultipartHeaders; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: org.springframework.web.multipart; MultipartHttpServletRequest; true; getRequestHeaders; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFile; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFileMap; ; ; Argument[this]; ReturnValue.MapValue; taint; manual |
| 13 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFileNames; ; ; Argument[this]; ReturnValue.Element; taint; manual |
| 14 | Summary: org.springframework.web.multipart; MultipartRequest; true; getFiles; ; ; Argument[this]; ReturnValue.Element; taint; manual |
| 15 | Summary: org.springframework.web.multipart; MultipartRequest; true; getMultiFileMap; ; ; Argument[this]; ReturnValue.MapValue; taint; manual |
| 16 | Summary: org.springframework.web.multipart; MultipartResolver; true; resolveMultipart; ; ; Argument[0]; ReturnValue; taint; manual |
edges
| Test.java:20:20:20:37 | container : Iterator [<element>] : Object | Test.java:20:49:20:57 | container : Iterator [<element>] : Object | provenance | |
| Test.java:20:49:20:57 | container : Iterator [<element>] : Object | Test.java:20:49:20:64 | next(...) : Object | provenance | MaD:2 |
| Test.java:21:20:21:39 | container : List [<element>] : Object | Test.java:21:51:21:59 | container : List [<element>] : Object | provenance | |
| Test.java:21:51:21:59 | container : List [<element>] : Object | Test.java:21:51:21:70 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:1 |
| Test.java:21:51:21:70 | iterator(...) : Iterator [<element>] : Object | Test.java:21:51:21:77 | next(...) : Object | provenance | MaD:2 |
| Test.java:22:21:22:33 | container : Map [<map.value>] : Object | Test.java:22:45:22:53 | container : Map [<map.value>] : Object | provenance | |
| Test.java:22:21:22:33 | container : MultiValueMap [<map.value>] : Object | Test.java:22:45:22:53 | container : MultiValueMap [<map.value>] : Object | provenance | |
| Test.java:22:45:22:53 | container : Map [<map.value>] : Object | Test.java:22:45:22:63 | get(...) : Object | provenance | MaD:3 |
| Test.java:22:45:22:53 | container : MultiValueMap [<map.value>] : Object | Test.java:22:45:22:63 | get(...) : Object | provenance | MaD:3 |
| Test.java:31:23:31:45 | (...)... : MultipartFile | Test.java:32:10:32:11 | in : MultipartFile | provenance | |
| Test.java:31:38:31:45 | source(...) : Object | Test.java:31:23:31:45 | (...)... : MultipartFile | provenance | |
| Test.java:32:10:32:11 | in : MultipartFile | Test.java:32:10:32:22 | getBytes(...) : byte[] | provenance | MaD:4 |
| Test.java:32:10:32:22 | getBytes(...) : byte[] | Test.java:33:9:33:11 | out | provenance | |
| Test.java:38:23:38:45 | (...)... : MultipartFile | Test.java:39:10:39:11 | in : MultipartFile | provenance | |
| Test.java:38:38:38:45 | source(...) : Object | Test.java:38:23:38:45 | (...)... : MultipartFile | provenance | |
| Test.java:39:10:39:11 | in : MultipartFile | Test.java:39:10:39:28 | getInputStream(...) : InputStream | provenance | MaD:5 |
| Test.java:39:10:39:28 | getInputStream(...) : InputStream | Test.java:40:9:40:11 | out | provenance | |
| Test.java:45:23:45:45 | (...)... : MultipartFile | Test.java:46:10:46:11 | in : MultipartFile | provenance | |
| Test.java:45:38:45:45 | source(...) : Object | Test.java:45:23:45:45 | (...)... : MultipartFile | provenance | |
| Test.java:46:10:46:11 | in : MultipartFile | Test.java:46:10:46:21 | getName(...) : String | provenance | MaD:6 |
| Test.java:46:10:46:21 | getName(...) : String | Test.java:47:9:47:11 | out | provenance | |
| Test.java:52:23:52:45 | (...)... : MultipartFile | Test.java:53:10:53:11 | in : MultipartFile | provenance | |
| Test.java:52:38:52:45 | source(...) : Object | Test.java:52:23:52:45 | (...)... : MultipartFile | provenance | |
| Test.java:53:10:53:11 | in : MultipartFile | Test.java:53:10:53:33 | getOriginalFilename(...) : String | provenance | MaD:7 |
| Test.java:53:10:53:33 | getOriginalFilename(...) : String | Test.java:54:9:54:11 | out | provenance | |
| Test.java:59:23:59:45 | (...)... : MultipartFile | Test.java:60:10:60:11 | in : MultipartFile | provenance | |
| Test.java:59:38:59:45 | source(...) : Object | Test.java:59:23:59:45 | (...)... : MultipartFile | provenance | |
| Test.java:60:10:60:11 | in : MultipartFile | Test.java:60:10:60:25 | getResource(...) : Resource | provenance | MaD:8 |
| Test.java:60:10:60:25 | getResource(...) : Resource | Test.java:61:9:61:11 | out | provenance | |
| Test.java:66:37:66:73 | (...)... : MultipartHttpServletRequest | Test.java:67:10:67:11 | in : MultipartHttpServletRequest | provenance | |
| Test.java:66:66:66:73 | source(...) : Object | Test.java:66:37:66:73 | (...)... : MultipartHttpServletRequest | provenance | |
| Test.java:67:10:67:11 | in : MultipartHttpServletRequest | Test.java:67:10:67:37 | getMultipartHeaders(...) : HttpHeaders | provenance | MaD:9 |
| Test.java:67:10:67:37 | getMultipartHeaders(...) : HttpHeaders | Test.java:68:9:68:11 | out | provenance | |
| Test.java:73:37:73:73 | (...)... : MultipartHttpServletRequest | Test.java:74:10:74:11 | in : MultipartHttpServletRequest | provenance | |
| Test.java:73:66:73:73 | source(...) : Object | Test.java:73:37:73:73 | (...)... : MultipartHttpServletRequest | provenance | |
| Test.java:74:10:74:11 | in : MultipartHttpServletRequest | Test.java:74:10:74:31 | getRequestHeaders(...) : HttpHeaders | provenance | MaD:10 |
| Test.java:74:10:74:31 | getRequestHeaders(...) : HttpHeaders | Test.java:75:9:75:11 | out | provenance | |
| Test.java:80:26:80:51 | (...)... : MultipartRequest | Test.java:81:10:81:11 | in : MultipartRequest | provenance | |
| Test.java:80:44:80:51 | source(...) : Object | Test.java:80:26:80:51 | (...)... : MultipartRequest | provenance | |
| Test.java:81:10:81:11 | in : MultipartRequest | Test.java:81:10:81:25 | getFile(...) : MultipartFile | provenance | MaD:11 |
| Test.java:81:10:81:25 | getFile(...) : MultipartFile | Test.java:82:9:82:11 | out | provenance | |
| Test.java:87:26:87:51 | (...)... : MultipartRequest | Test.java:88:10:88:11 | in : MultipartRequest | provenance | |
| Test.java:87:44:87:51 | source(...) : Object | Test.java:87:26:87:51 | (...)... : MultipartRequest | provenance | |
| Test.java:88:10:88:11 | in : MultipartRequest | Test.java:88:10:88:24 | getFileMap(...) : Map [<map.value>] : Object | provenance | MaD:12 |
| Test.java:88:10:88:24 | getFileMap(...) : Map [<map.value>] : Object | Test.java:89:21:89:23 | out : Map [<map.value>] : Object | provenance | |
| Test.java:89:21:89:23 | out : Map [<map.value>] : Object | Test.java:22:21:22:33 | container : Map [<map.value>] : Object | provenance | |
| Test.java:89:21:89:23 | out : Map [<map.value>] : Object | Test.java:89:9:89:24 | getMapValue(...) | provenance | MaD:3 |
| Test.java:94:26:94:51 | (...)... : MultipartRequest | Test.java:95:10:95:11 | in : MultipartRequest | provenance | |
| Test.java:94:44:94:51 | source(...) : Object | Test.java:94:26:94:51 | (...)... : MultipartRequest | provenance | |
| Test.java:95:10:95:11 | in : MultipartRequest | Test.java:95:10:95:26 | getFileNames(...) : Iterator [<element>] : Object | provenance | MaD:13 |
| Test.java:95:10:95:26 | getFileNames(...) : Iterator [<element>] : Object | Test.java:96:20:96:22 | out : Iterator [<element>] : Object | provenance | |
| Test.java:96:20:96:22 | out : Iterator [<element>] : Object | Test.java:20:20:20:37 | container : Iterator [<element>] : Object | provenance | |
| Test.java:96:20:96:22 | out : Iterator [<element>] : Object | Test.java:96:9:96:23 | getElement(...) | provenance | MaD:2 |
| Test.java:101:26:101:51 | (...)... : MultipartRequest | Test.java:102:10:102:11 | in : MultipartRequest | provenance | |
| Test.java:101:44:101:51 | source(...) : Object | Test.java:101:26:101:51 | (...)... : MultipartRequest | provenance | |
| Test.java:102:10:102:11 | in : MultipartRequest | Test.java:102:10:102:26 | getFiles(...) : List [<element>] : Object | provenance | MaD:14 |
| Test.java:102:10:102:26 | getFiles(...) : List [<element>] : Object | Test.java:103:20:103:22 | out : List [<element>] : Object | provenance | |
| Test.java:103:20:103:22 | out : List [<element>] : Object | Test.java:21:20:21:39 | container : List [<element>] : Object | provenance | |
| Test.java:103:20:103:22 | out : List [<element>] : Object | Test.java:103:9:103:23 | getElement(...) | provenance | MaD:1 |
| Test.java:108:26:108:51 | (...)... : MultipartRequest | Test.java:109:10:109:11 | in : MultipartRequest | provenance | |
| Test.java:108:44:108:51 | source(...) : Object | Test.java:108:26:108:51 | (...)... : MultipartRequest | provenance | |
| Test.java:109:10:109:11 | in : MultipartRequest | Test.java:109:10:109:29 | getMultiFileMap(...) : MultiValueMap [<map.value>] : Object | provenance | MaD:15 |
| Test.java:109:10:109:29 | getMultiFileMap(...) : MultiValueMap [<map.value>] : Object | Test.java:110:21:110:23 | out : MultiValueMap [<map.value>] : Object | provenance | |
| Test.java:110:21:110:23 | out : MultiValueMap [<map.value>] : Object | Test.java:22:21:22:33 | container : MultiValueMap [<map.value>] : Object | provenance | |
| Test.java:110:21:110:23 | out : MultiValueMap [<map.value>] : Object | Test.java:110:9:110:24 | getMapValue(...) | provenance | MaD:3 |
| Test.java:115:28:115:55 | (...)... : HttpServletRequest | Test.java:117:36:117:37 | in : HttpServletRequest | provenance | |
| Test.java:115:48:115:55 | source(...) : Object | Test.java:115:28:115:55 | (...)... : HttpServletRequest | provenance | |
| Test.java:117:10:117:38 | resolveMultipart(...) : MultipartHttpServletRequest | Test.java:118:9:118:11 | out | provenance | |
| Test.java:117:36:117:37 | in : HttpServletRequest | Test.java:117:10:117:38 | resolveMultipart(...) : MultipartHttpServletRequest | provenance | MaD:16 |
nodes
| Test.java:20:20:20:37 | container : Iterator [<element>] : Object | semmle.label | container : Iterator [<element>] : Object |
| Test.java:20:49:20:57 | container : Iterator [<element>] : Object | semmle.label | container : Iterator [<element>] : Object |
| Test.java:20:49:20:64 | next(...) : Object | semmle.label | next(...) : Object |
| Test.java:21:20:21:39 | container : List [<element>] : Object | semmle.label | container : List [<element>] : Object |
| Test.java:21:51:21:59 | container : List [<element>] : Object | semmle.label | container : List [<element>] : Object |
| Test.java:21:51:21:70 | iterator(...) : Iterator [<element>] : Object | semmle.label | iterator(...) : Iterator [<element>] : Object |
| Test.java:21:51:21:77 | next(...) : Object | semmle.label | next(...) : Object |
| Test.java:22:21:22:33 | container : Map [<map.value>] : Object | semmle.label | container : Map [<map.value>] : Object |
| Test.java:22:21:22:33 | container : MultiValueMap [<map.value>] : Object | semmle.label | container : MultiValueMap [<map.value>] : Object |
| Test.java:22:45:22:53 | container : Map [<map.value>] : Object | semmle.label | container : Map [<map.value>] : Object |
| Test.java:22:45:22:53 | container : MultiValueMap [<map.value>] : Object | semmle.label | container : MultiValueMap [<map.value>] : Object |
| Test.java:22:45:22:63 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:22:45:22:63 | get(...) : Object | semmle.label | get(...) : Object |
| Test.java:31:23:31:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile |
| Test.java:31:38:31:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:32:10:32:11 | in : MultipartFile | semmle.label | in : MultipartFile |
| Test.java:32:10:32:22 | getBytes(...) : byte[] | semmle.label | getBytes(...) : byte[] |
| Test.java:33:9:33:11 | out | semmle.label | out |
| Test.java:38:23:38:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile |
| Test.java:38:38:38:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:39:10:39:11 | in : MultipartFile | semmle.label | in : MultipartFile |
| Test.java:39:10:39:28 | getInputStream(...) : InputStream | semmle.label | getInputStream(...) : InputStream |
| Test.java:40:9:40:11 | out | semmle.label | out |
| Test.java:45:23:45:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile |
| Test.java:45:38:45:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:46:10:46:11 | in : MultipartFile | semmle.label | in : MultipartFile |
| Test.java:46:10:46:21 | getName(...) : String | semmle.label | getName(...) : String |
| Test.java:47:9:47:11 | out | semmle.label | out |
| Test.java:52:23:52:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile |
| Test.java:52:38:52:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:53:10:53:11 | in : MultipartFile | semmle.label | in : MultipartFile |
| Test.java:53:10:53:33 | getOriginalFilename(...) : String | semmle.label | getOriginalFilename(...) : String |
| Test.java:54:9:54:11 | out | semmle.label | out |
| Test.java:59:23:59:45 | (...)... : MultipartFile | semmle.label | (...)... : MultipartFile |
| Test.java:59:38:59:45 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:60:10:60:11 | in : MultipartFile | semmle.label | in : MultipartFile |
| Test.java:60:10:60:25 | getResource(...) : Resource | semmle.label | getResource(...) : Resource |
| Test.java:61:9:61:11 | out | semmle.label | out |
| Test.java:66:37:66:73 | (...)... : MultipartHttpServletRequest | semmle.label | (...)... : MultipartHttpServletRequest |
| Test.java:66:66:66:73 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:67:10:67:11 | in : MultipartHttpServletRequest | semmle.label | in : MultipartHttpServletRequest |
| Test.java:67:10:67:37 | getMultipartHeaders(...) : HttpHeaders | semmle.label | getMultipartHeaders(...) : HttpHeaders |
| Test.java:68:9:68:11 | out | semmle.label | out |
| Test.java:73:37:73:73 | (...)... : MultipartHttpServletRequest | semmle.label | (...)... : MultipartHttpServletRequest |
| Test.java:73:66:73:73 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:74:10:74:11 | in : MultipartHttpServletRequest | semmle.label | in : MultipartHttpServletRequest |
| Test.java:74:10:74:31 | getRequestHeaders(...) : HttpHeaders | semmle.label | getRequestHeaders(...) : HttpHeaders |
| Test.java:75:9:75:11 | out | semmle.label | out |
| Test.java:80:26:80:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest |
| Test.java:80:44:80:51 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:81:10:81:11 | in : MultipartRequest | semmle.label | in : MultipartRequest |
| Test.java:81:10:81:25 | getFile(...) : MultipartFile | semmle.label | getFile(...) : MultipartFile |
| Test.java:82:9:82:11 | out | semmle.label | out |
| Test.java:87:26:87:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest |
| Test.java:87:44:87:51 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:88:10:88:11 | in : MultipartRequest | semmle.label | in : MultipartRequest |
| Test.java:88:10:88:24 | getFileMap(...) : Map [<map.value>] : Object | semmle.label | getFileMap(...) : Map [<map.value>] : Object |
| Test.java:89:9:89:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:89:21:89:23 | out : Map [<map.value>] : Object | semmle.label | out : Map [<map.value>] : Object |
| Test.java:94:26:94:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest |
| Test.java:94:44:94:51 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:95:10:95:11 | in : MultipartRequest | semmle.label | in : MultipartRequest |
| Test.java:95:10:95:26 | getFileNames(...) : Iterator [<element>] : Object | semmle.label | getFileNames(...) : Iterator [<element>] : Object |
| Test.java:96:9:96:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:96:20:96:22 | out : Iterator [<element>] : Object | semmle.label | out : Iterator [<element>] : Object |
| Test.java:101:26:101:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest |
| Test.java:101:44:101:51 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:102:10:102:11 | in : MultipartRequest | semmle.label | in : MultipartRequest |
| Test.java:102:10:102:26 | getFiles(...) : List [<element>] : Object | semmle.label | getFiles(...) : List [<element>] : Object |
| Test.java:103:9:103:23 | getElement(...) | semmle.label | getElement(...) |
| Test.java:103:20:103:22 | out : List [<element>] : Object | semmle.label | out : List [<element>] : Object |
| Test.java:108:26:108:51 | (...)... : MultipartRequest | semmle.label | (...)... : MultipartRequest |
| Test.java:108:44:108:51 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:109:10:109:11 | in : MultipartRequest | semmle.label | in : MultipartRequest |
| Test.java:109:10:109:29 | getMultiFileMap(...) : MultiValueMap [<map.value>] : Object | semmle.label | getMultiFileMap(...) : MultiValueMap [<map.value>] : Object |
| Test.java:110:9:110:24 | getMapValue(...) | semmle.label | getMapValue(...) |
| Test.java:110:21:110:23 | out : MultiValueMap [<map.value>] : Object | semmle.label | out : MultiValueMap [<map.value>] : Object |
| Test.java:115:28:115:55 | (...)... : HttpServletRequest | semmle.label | (...)... : HttpServletRequest |
| Test.java:115:48:115:55 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:117:10:117:38 | resolveMultipart(...) : MultipartHttpServletRequest | semmle.label | resolveMultipart(...) : MultipartHttpServletRequest |
| Test.java:117:36:117:37 | in : HttpServletRequest | semmle.label | in : HttpServletRequest |
| Test.java:118:9:118:11 | out | semmle.label | out |
subpaths
| Test.java:89:21:89:23 | out : Map [<map.value>] : Object | Test.java:22:21:22:33 | container : Map [<map.value>] : Object | Test.java:22:45:22:63 | get(...) : Object | Test.java:89:9:89:24 | getMapValue(...) |
| Test.java:96:20:96:22 | out : Iterator [<element>] : Object | Test.java:20:20:20:37 | container : Iterator [<element>] : Object | Test.java:20:49:20:64 | next(...) : Object | Test.java:96:9:96:23 | getElement(...) |
| Test.java:103:20:103:22 | out : List [<element>] : Object | Test.java:21:20:21:39 | container : List [<element>] : Object | Test.java:21:51:21:77 | next(...) : Object | Test.java:103:9:103:23 | getElement(...) |
| Test.java:110:21:110:23 | out : MultiValueMap [<map.value>] : Object | Test.java:22:21:22:33 | container : MultiValueMap [<map.value>] : Object | Test.java:22:45:22:63 | get(...) : Object | Test.java:110:9:110:24 | getMapValue(...) |
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,52 @@
models
| 1 | Summary: org.kohsuke.stapler.framework.adjunct; AdjunctManager; true; AdjunctManager; (ServletContext,ClassLoader,String,long); ; Argument[2]; Argument[this].Field[org.kohsuke.stapler.framework.adjunct.AdjunctManager.rootURL]; taint; ai-manual |
edges
| DataBoundPostConstructTest.java:17:40:17:60 | source(...) : Object | DataBoundPostConstructTest.java:24:39:24:50 | field : Object | provenance | |
| DataBoundPostConstructTest.java:18:55:18:70 | source(...) : Object | DataBoundPostConstructTest.java:29:26:29:37 | field : Object | provenance | |
| DataBoundPostConstructTest.java:24:39:24:50 | field : Object | DataBoundPostConstructTest.java:25:22:25:26 | field : Object | provenance | |
| DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:25:22:25:26 | field : Object | DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:29:26:29:37 | field : Object | DataBoundPostConstructTest.java:30:22:30:26 | field : Object | provenance | |
| DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:30:22:30:26 | field : Object | DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:34:14:34:17 | this : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:34:14:34:17 | this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:34:14:34:23 | this.field | provenance | |
| DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:40:14:40:17 | this : DataBoundPostConstructTest [field] : Object | provenance | |
| DataBoundPostConstructTest.java:40:14:40:17 | this : DataBoundPostConstructTest [field] : Object | DataBoundPostConstructTest.java:40:14:40:23 | this.field | provenance | |
| HttpResponseTest.java:16:20:16:44 | (...)... : MyHttpResponse | HttpResponseTest.java:22:21:22:36 | parameter this : MyHttpResponse | provenance | |
| HttpResponseTest.java:16:37:16:44 | source(...) : Object | HttpResponseTest.java:16:20:16:44 | (...)... : MyHttpResponse | provenance | |
| HttpResponseTest.java:22:21:22:36 | parameter this : MyHttpResponse | HttpResponseTest.java:23:18:23:21 | this | provenance | |
| Test.java:19:16:19:32 | (...)... : String | Test.java:20:41:20:42 | in : String | provenance | |
| Test.java:19:25:19:32 | source(...) : Object | Test.java:19:16:19:32 | (...)... : String | provenance | |
| Test.java:20:10:20:47 | new AdjunctManager(...) : AdjunctManager [rootURL] : String | Test.java:21:9:21:11 | out : AdjunctManager [rootURL] : String | provenance | |
| Test.java:20:41:20:42 | in : String | Test.java:20:10:20:47 | new AdjunctManager(...) : AdjunctManager [rootURL] : String | provenance | MaD:1 |
| Test.java:21:9:21:11 | out : AdjunctManager [rootURL] : String | Test.java:21:9:21:19 | out.rootURL | provenance | |
nodes
| DataBoundPostConstructTest.java:17:40:17:60 | source(...) : Object | semmle.label | source(...) : Object |
| DataBoundPostConstructTest.java:18:55:18:70 | source(...) : Object | semmle.label | source(...) : Object |
| DataBoundPostConstructTest.java:24:39:24:50 | field : Object | semmle.label | field : Object |
| DataBoundPostConstructTest.java:25:9:25:12 | this [post update] : DataBoundPostConstructTest [field] : Object | semmle.label | this [post update] : DataBoundPostConstructTest [field] : Object |
| DataBoundPostConstructTest.java:25:22:25:26 | field : Object | semmle.label | field : Object |
| DataBoundPostConstructTest.java:29:26:29:37 | field : Object | semmle.label | field : Object |
| DataBoundPostConstructTest.java:30:9:30:12 | this [post update] : DataBoundPostConstructTest [field] : Object | semmle.label | this [post update] : DataBoundPostConstructTest [field] : Object |
| DataBoundPostConstructTest.java:30:22:30:26 | field : Object | semmle.label | field : Object |
| DataBoundPostConstructTest.java:33:20:33:30 | parameter this : DataBoundPostConstructTest [field] : Object | semmle.label | parameter this : DataBoundPostConstructTest [field] : Object |
| DataBoundPostConstructTest.java:34:14:34:17 | this : DataBoundPostConstructTest [field] : Object | semmle.label | this : DataBoundPostConstructTest [field] : Object |
| DataBoundPostConstructTest.java:34:14:34:23 | this.field | semmle.label | this.field |
| DataBoundPostConstructTest.java:39:18:39:21 | parameter this : DataBoundPostConstructTest [field] : Object | semmle.label | parameter this : DataBoundPostConstructTest [field] : Object |
| DataBoundPostConstructTest.java:40:14:40:17 | this : DataBoundPostConstructTest [field] : Object | semmle.label | this : DataBoundPostConstructTest [field] : Object |
| DataBoundPostConstructTest.java:40:14:40:23 | this.field | semmle.label | this.field |
| HttpResponseTest.java:16:20:16:44 | (...)... : MyHttpResponse | semmle.label | (...)... : MyHttpResponse |
| HttpResponseTest.java:16:37:16:44 | source(...) : Object | semmle.label | source(...) : Object |
| HttpResponseTest.java:22:21:22:36 | parameter this : MyHttpResponse | semmle.label | parameter this : MyHttpResponse |
| HttpResponseTest.java:23:18:23:21 | this | semmle.label | this |
| Test.java:19:16:19:32 | (...)... : String | semmle.label | (...)... : String |
| Test.java:19:25:19:32 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:20:10:20:47 | new AdjunctManager(...) : AdjunctManager [rootURL] : String | semmle.label | new AdjunctManager(...) : AdjunctManager [rootURL] : String |
| Test.java:20:41:20:42 | in : String | semmle.label | in : String |
| Test.java:21:9:21:11 | out : AdjunctManager [rootURL] : String | semmle.label | out : AdjunctManager [rootURL] : String |
| Test.java:21:9:21:19 | out.rootURL | semmle.label | out.rootURL |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

View File

@@ -0,0 +1,61 @@
models
| 1 | Summary: org.thymeleaf; TemplateSpec; false; TemplateSpec; ; ; Argument[0]; Argument[this]; taint; manual |
| 2 | Summary: org.thymeleaf; TemplateSpec; false; getTemplate; ; ; Argument[this]; ReturnValue; taint; manual |
edges
| Test.java:19:16:19:31 | (...)... : String | Test.java:20:27:20:28 | in : String | provenance | |
| Test.java:19:24:19:31 | source(...) : Object | Test.java:19:16:19:31 | (...)... : String | provenance | |
| Test.java:20:10:20:40 | new TemplateSpec(...) : TemplateSpec | Test.java:21:9:21:11 | out | provenance | |
| Test.java:20:27:20:28 | in : String | Test.java:20:10:20:40 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 |
| Test.java:26:16:26:31 | (...)... : String | Test.java:27:27:27:28 | in : String | provenance | |
| Test.java:26:24:26:31 | source(...) : Object | Test.java:26:16:26:31 | (...)... : String | provenance | |
| Test.java:27:10:27:65 | new TemplateSpec(...) : TemplateSpec | Test.java:28:9:28:11 | out | provenance | |
| Test.java:27:27:27:28 | in : String | Test.java:27:10:27:65 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 |
| Test.java:33:16:33:31 | (...)... : String | Test.java:34:27:34:28 | in : String | provenance | |
| Test.java:33:24:33:31 | source(...) : Object | Test.java:33:16:33:31 | (...)... : String | provenance | |
| Test.java:34:10:34:71 | new TemplateSpec(...) : TemplateSpec | Test.java:35:9:35:11 | out | provenance | |
| Test.java:34:27:34:28 | in : String | Test.java:34:10:34:71 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 |
| Test.java:40:16:40:31 | (...)... : String | Test.java:41:27:41:28 | in : String | provenance | |
| Test.java:40:24:40:31 | source(...) : Object | Test.java:40:16:40:31 | (...)... : String | provenance | |
| Test.java:41:10:41:43 | new TemplateSpec(...) : TemplateSpec | Test.java:42:9:42:11 | out | provenance | |
| Test.java:41:27:41:28 | in : String | Test.java:41:10:41:43 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 |
| Test.java:47:16:47:31 | (...)... : String | Test.java:48:27:48:28 | in : String | provenance | |
| Test.java:47:24:47:31 | source(...) : Object | Test.java:47:16:47:31 | (...)... : String | provenance | |
| Test.java:48:10:48:49 | new TemplateSpec(...) : TemplateSpec | Test.java:49:9:49:11 | out | provenance | |
| Test.java:48:27:48:28 | in : String | Test.java:48:10:48:49 | new TemplateSpec(...) : TemplateSpec | provenance | MaD:1 |
| Test.java:54:22:54:43 | (...)... : TemplateSpec | Test.java:55:10:55:11 | in : TemplateSpec | provenance | |
| Test.java:54:36:54:43 | source(...) : Object | Test.java:54:22:54:43 | (...)... : TemplateSpec | provenance | |
| Test.java:55:10:55:11 | in : TemplateSpec | Test.java:55:10:55:25 | getTemplate(...) : String | provenance | MaD:2 |
| Test.java:55:10:55:25 | getTemplate(...) : String | Test.java:56:9:56:11 | out | provenance | |
nodes
| Test.java:19:16:19:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:19:24:19:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:20:10:20:40 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec |
| Test.java:20:27:20:28 | in : String | semmle.label | in : String |
| Test.java:21:9:21:11 | out | semmle.label | out |
| Test.java:26:16:26:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:26:24:26:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:27:10:27:65 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec |
| Test.java:27:27:27:28 | in : String | semmle.label | in : String |
| Test.java:28:9:28:11 | out | semmle.label | out |
| Test.java:33:16:33:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:33:24:33:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:34:10:34:71 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec |
| Test.java:34:27:34:28 | in : String | semmle.label | in : String |
| Test.java:35:9:35:11 | out | semmle.label | out |
| Test.java:40:16:40:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:40:24:40:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:41:10:41:43 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec |
| Test.java:41:27:41:28 | in : String | semmle.label | in : String |
| Test.java:42:9:42:11 | out | semmle.label | out |
| Test.java:47:16:47:31 | (...)... : String | semmle.label | (...)... : String |
| Test.java:47:24:47:31 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:48:10:48:49 | new TemplateSpec(...) : TemplateSpec | semmle.label | new TemplateSpec(...) : TemplateSpec |
| Test.java:48:27:48:28 | in : String | semmle.label | in : String |
| Test.java:49:9:49:11 | out | semmle.label | out |
| Test.java:54:22:54:43 | (...)... : TemplateSpec | semmle.label | (...)... : TemplateSpec |
| Test.java:54:36:54:43 | source(...) : Object | semmle.label | source(...) : Object |
| Test.java:55:10:55:11 | in : TemplateSpec | semmle.label | in : TemplateSpec |
| Test.java:55:10:55:25 | getTemplate(...) : String | semmle.label | getTemplate(...) : String |
| Test.java:56:9:56:11 | out | semmle.label | out |
subpaths
testFailures

View File

@@ -1,3 +1,4 @@
import java
import TestUtilities.InlineFlowTest
import DefaultFlowTest
import TaintFlow::PathGraph

Some files were not shown because too many files have changed in this diff Show More