Java: Adapt to changes in FlowSummaryImpl

Missing manual models were added using the following code added to `FlowSummaryImpl.qll`:

```ql
    private predicate testsummaryElement(
      Input::SummarizedCallableBase c, string namespace, string type, boolean subtypes, string name,
      string signature, string ext, string originalInput, string originalOutput, string kind,
      string provenance, string model, boolean isExact
    ) {
      exists(string input, string output, Callable baseCallable |
        summaryModel(namespace, type, subtypes, name, signature, ext, originalInput, originalOutput,
          kind, provenance, model) and
        baseCallable = interpretElement(namespace, type, subtypes, name, signature, ext, isExact) and
        (
          c.asCallable() = baseCallable and input = originalInput and output = originalOutput
          or
          correspondingKotlinParameterDefaultsArgSpec(baseCallable, c.asCallable(), originalInput,
            input) and
          correspondingKotlinParameterDefaultsArgSpec(baseCallable, c.asCallable(), originalOutput,
            output)
        )
      )
    }

    private predicate testsummaryElement2(
      string namespace, string type, boolean subtypes, string name, string signature, string ext,
      string originalInput, string originalOutput, string kind, string provenance, string model,
      string namespace2, string type2
    ) {
      exists(Input::SummarizedCallableBase c |
        testsummaryElement(c, namespace2, type2, _, _, _, ext, originalInput, originalOutput, kind,
          provenance, model, false) and
        testsummaryElement(c, namespace, type, subtypes, name, _, _, _, _, _, provenance, _, true) and
        signature = paramsString(c.asCallable()) and
        not testsummaryElement(c, _, _, _, _, _, _, originalInput, originalOutput, kind, provenance,
          _, true)
      )
    }

    private string getAMissingManualModel(string namespace2, string type2) {
      exists(
        string namespace, string type, boolean subtypes, string name, string signature, string ext,
        string originalInput, string originalOutput, string kind, string provenance, string model
      |
        testsummaryElement2(namespace, type, subtypes, name, signature, ext, originalInput,
          originalOutput, kind, provenance, model, namespace2, type2) and
        result =
          "- [\"" + namespace + "\", \"" + type + "\", True, \"" + name + "\", \"" + signature +
            "\", \"\", \"" + originalInput + "\", \"" + originalOutput + "\", \"" + kind + "\", \"" +
            provenance + "\"]"
      )
    }
```
This commit is contained in:
Tom Hvitved
2025-12-16 14:09:09 +01:00
parent c975ae5231
commit 7024b07dd2
27 changed files with 14499 additions and 14881 deletions

View File

@@ -18,19 +18,13 @@ edges
| SpringUrlRedirect.java:98:44:98:54 | redirectUrl : String | SpringUrlRedirect.java:98:33:98:55 | create(...) : URI | provenance | MaD:3 |
| SpringUrlRedirect.java:104:39:104:56 | redirectUrl : String | SpringUrlRedirect.java:106:37:106:47 | redirectUrl : String | provenance | |
| SpringUrlRedirect.java:106:9:106:19 | httpHeaders [post update] : HttpHeaders | SpringUrlRedirect.java:108:68:108:78 | httpHeaders | provenance | |
| SpringUrlRedirect.java:106:9:106:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | SpringUrlRedirect.java:108:68:108:78 | httpHeaders | provenance | |
| SpringUrlRedirect.java:106:37:106:47 | redirectUrl : String | SpringUrlRedirect.java:106:9:106:19 | httpHeaders [post update] : HttpHeaders | provenance | MaD:4 |
| SpringUrlRedirect.java:106:37:106:47 | redirectUrl : String | SpringUrlRedirect.java:106:9:106:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | provenance | MaD:5 |
| SpringUrlRedirect.java:112:39:112:56 | redirectUrl : String | SpringUrlRedirect.java:114:37:114:47 | redirectUrl : String | provenance | |
| SpringUrlRedirect.java:114:9:114:19 | httpHeaders [post update] : HttpHeaders | SpringUrlRedirect.java:116:37:116:47 | httpHeaders | provenance | |
| SpringUrlRedirect.java:114:9:114:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | SpringUrlRedirect.java:116:37:116:47 | httpHeaders | provenance | |
| SpringUrlRedirect.java:114:37:114:47 | redirectUrl : String | SpringUrlRedirect.java:114:9:114:19 | httpHeaders [post update] : HttpHeaders | provenance | MaD:4 |
| SpringUrlRedirect.java:114:37:114:47 | redirectUrl : String | SpringUrlRedirect.java:114:9:114:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | provenance | MaD:5 |
| SpringUrlRedirect.java:120:33:120:50 | redirectUrl : String | SpringUrlRedirect.java:122:37:122:47 | redirectUrl : String | provenance | |
| SpringUrlRedirect.java:122:9:122:19 | httpHeaders [post update] : HttpHeaders | SpringUrlRedirect.java:124:49:124:59 | httpHeaders | provenance | |
| SpringUrlRedirect.java:122:9:122:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | SpringUrlRedirect.java:124:49:124:59 | httpHeaders | provenance | |
| SpringUrlRedirect.java:122:37:122:47 | redirectUrl : String | SpringUrlRedirect.java:122:9:122:19 | httpHeaders [post update] : HttpHeaders | provenance | MaD:4 |
| SpringUrlRedirect.java:122:37:122:47 | redirectUrl : String | SpringUrlRedirect.java:122:9:122:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | provenance | MaD:5 |
| SpringUrlRedirect.java:128:33:128:50 | redirectUrl : String | SpringUrlRedirect.java:130:44:130:54 | redirectUrl : String | provenance | |
| SpringUrlRedirect.java:130:9:130:19 | httpHeaders : HttpHeaders | SpringUrlRedirect.java:132:49:132:59 | httpHeaders | provenance | |
| SpringUrlRedirect.java:130:33:130:55 | create(...) : URI | SpringUrlRedirect.java:130:9:130:19 | httpHeaders : HttpHeaders | provenance | Config |
@@ -40,7 +34,6 @@ models
| 2 | Summary: java.lang; String; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
| 3 | Summary: java.net; URI; false; create; ; ; Argument[0]; ReturnValue; taint; manual |
| 4 | Summary: org.springframework.http; HttpHeaders; true; add; (String,String); ; Argument[0..1]; Argument[this]; taint; manual |
| 5 | Summary: org.springframework.util; MultiValueMap; true; add; ; ; Argument[1]; Argument[this].MapValue.Element; value; manual |
nodes
| SpringUrlRedirect.java:17:30:17:47 | redirectUrl : String | semmle.label | redirectUrl : String |
| SpringUrlRedirect.java:19:19:19:29 | redirectUrl | semmle.label | redirectUrl |
@@ -71,17 +64,14 @@ nodes
| SpringUrlRedirect.java:100:37:100:47 | httpHeaders | semmle.label | httpHeaders |
| SpringUrlRedirect.java:104:39:104:56 | redirectUrl : String | semmle.label | redirectUrl : String |
| SpringUrlRedirect.java:106:9:106:19 | httpHeaders [post update] : HttpHeaders | semmle.label | httpHeaders [post update] : HttpHeaders |
| SpringUrlRedirect.java:106:9:106:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | semmle.label | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String |
| SpringUrlRedirect.java:106:37:106:47 | redirectUrl : String | semmle.label | redirectUrl : String |
| SpringUrlRedirect.java:108:68:108:78 | httpHeaders | semmle.label | httpHeaders |
| SpringUrlRedirect.java:112:39:112:56 | redirectUrl : String | semmle.label | redirectUrl : String |
| SpringUrlRedirect.java:114:9:114:19 | httpHeaders [post update] : HttpHeaders | semmle.label | httpHeaders [post update] : HttpHeaders |
| SpringUrlRedirect.java:114:9:114:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | semmle.label | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String |
| SpringUrlRedirect.java:114:37:114:47 | redirectUrl : String | semmle.label | redirectUrl : String |
| SpringUrlRedirect.java:116:37:116:47 | httpHeaders | semmle.label | httpHeaders |
| SpringUrlRedirect.java:120:33:120:50 | redirectUrl : String | semmle.label | redirectUrl : String |
| SpringUrlRedirect.java:122:9:122:19 | httpHeaders [post update] : HttpHeaders | semmle.label | httpHeaders [post update] : HttpHeaders |
| SpringUrlRedirect.java:122:9:122:19 | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String | semmle.label | httpHeaders [post update] : HttpHeaders [<map.value>, <element>] : String |
| SpringUrlRedirect.java:122:37:122:47 | redirectUrl : String | semmle.label | redirectUrl : String |
| SpringUrlRedirect.java:124:49:124:59 | httpHeaders | semmle.label | httpHeaders |
| SpringUrlRedirect.java:128:33:128:50 | redirectUrl : String | semmle.label | redirectUrl : String |

View File

@@ -98,9 +98,7 @@ edges
| 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 : List [<element>] : String | B.java:107:21:107:21 | l : List [<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 : List [<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 : List [<element>] : String | provenance | |
| B.java:107:16:111:6 | List<String> out1 : List [<element>] : String | B.java:112:10:112:13 | out1 : List [<element>] : String | provenance | |
@@ -111,9 +109,7 @@ edges
| B.java:107:21:107:21 | l : List [<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 | 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 : List [<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 : List [<element>] : String | provenance | |
| B.java:107:31:111:5 | List<String> out1 : List [<element>] : String | B.java:107:31:111:5 | this : new Consumer<List<String>>(...) { ... } [List<String> out1, <element>] : String | provenance | |

View File

@@ -877,13 +877,11 @@ edges
| B.java:404:44:404:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | |
| B.java:404:44:404:51 | source(...) : Object | B.java:404:18:404:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | provenance | MaD:54 |
| B.java:404:61:404:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:404:61:404:73 | getFirst(...) : Object | provenance | MaD:113 |
| B.java:404:61:404:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:404:61:404:73 | getFirst(...) : Object | provenance | MaD:274 |
| B.java:404:61:404:73 | getFirst(...) : Object | B.java:404:81:404:83 | out | provenance | |
| B.java:409:18:409:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | B.java:409:61:409:62 | in : LinkedBlockingDeque [<element>] : Object | provenance | |
| B.java:409:44:409:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | |
| B.java:409:44:409:51 | source(...) : Object | B.java:409:18:409:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | provenance | MaD:54 |
| B.java:409:61:409:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:409:61:409:72 | getLast(...) : Object | provenance | MaD:114 |
| B.java:409:61:409:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:409:61:409:72 | getLast(...) : Object | provenance | MaD:275 |
| B.java:409:61:409:72 | getLast(...) : Object | B.java:409:80:409:82 | out | provenance | |
| B.java:414:18:414:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | B.java:414:61:414:62 | in : LinkedBlockingDeque [<element>] : Object | provenance | |
| B.java:414:44:414:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | |
@@ -914,13 +912,11 @@ edges
| B.java:439:44:439:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | |
| B.java:439:44:439:51 | source(...) : Object | B.java:439:18:439:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | provenance | MaD:54 |
| B.java:439:61:439:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:439:61:439:76 | removeFirst(...) : Object | provenance | MaD:123 |
| B.java:439:61:439:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:439:61:439:76 | removeFirst(...) : Object | provenance | MaD:276 |
| B.java:439:61:439:76 | removeFirst(...) : Object | B.java:439:84:439:86 | out | provenance | |
| B.java:444:18:444:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | B.java:444:61:444:62 | in : LinkedBlockingDeque [<element>] : Object | provenance | |
| B.java:444:44:444:51 | source(...) : Object | B.java:28:57:28:61 | obj : Object | provenance | |
| B.java:444:44:444:51 | source(...) : Object | B.java:444:18:444:52 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | provenance | MaD:54 |
| B.java:444:61:444:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:444:61:444:75 | removeLast(...) : Object | provenance | MaD:124 |
| B.java:444:61:444:62 | in : LinkedBlockingDeque [<element>] : Object | B.java:444:61:444:75 | removeLast(...) : Object | provenance | MaD:277 |
| B.java:444:61:444:75 | removeLast(...) : Object | B.java:444:83:444:85 | out | provenance | |
| B.java:449:19:449:26 | source(...) : Object | B.java:449:38:449:39 | in : Object | provenance | |
| B.java:449:29:449:31 | out [post update] : Deque [<element>] : Object | B.java:449:60:449:62 | out : Deque [<element>] : Object | provenance | |
@@ -940,13 +936,11 @@ edges
| B.java:464:19:464:26 | source(...) : Object | B.java:464:41:464:42 | in : Object | provenance | |
| B.java:464:29:464:31 | out [post update] : Deque [<element>] : Object | B.java:464:63:464:65 | out : Deque [<element>] : Object | provenance | |
| B.java:464:41:464:42 | in : Object | B.java:464:29:464:31 | out [post update] : Deque [<element>] : Object | provenance | MaD:111 |
| B.java:464:41:464:42 | in : Object | B.java:464:29:464:31 | out [post update] : Deque [<element>] : Object | provenance | MaD:273 |
| B.java:464:63:464:65 | out : Deque [<element>] : Object | B.java:31:28:31:42 | obj : Deque [<element>] : Object | provenance | |
| B.java:464:63:464:65 | out : Deque [<element>] : Object | B.java:464:51:464:66 | readElement(...) | provenance | MaD:3 |
| B.java:469:19:469:26 | source(...) : Object | B.java:469:42:469:43 | in : Object | provenance | |
| B.java:469:29:469:31 | out [post update] : Deque [<element>] : Object | B.java:469:64:469:66 | out : Deque [<element>] : Object | provenance | |
| B.java:469:42:469:43 | in : Object | B.java:469:29:469:31 | out [post update] : Deque [<element>] : Object | provenance | MaD:110 |
| B.java:469:42:469:43 | in : Object | B.java:469:29:469:31 | out [post update] : Deque [<element>] : Object | provenance | MaD:272 |
| B.java:469:64:469:66 | out : Deque [<element>] : Object | B.java:31:28:31:42 | obj : Deque [<element>] : Object | provenance | |
| B.java:469:64:469:66 | out : Deque [<element>] : Object | B.java:469:52:469:67 | readElement(...) | provenance | MaD:3 |
| B.java:474:26:474:60 | storeElementBlockingDeque(...) : LinkedBlockingDeque [<element>] : Object | B.java:474:69:474:70 | in : LinkedBlockingDeque [<element>] : Object | provenance | |
@@ -1095,7 +1089,6 @@ edges
| B.java:599:31:599:38 | source(...) : Object | B.java:599:19:599:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | provenance | MaD:214 |
| B.java:599:48:599:78 | firstEntry(...) : Entry [<map.key>] : Object | B.java:599:97:599:99 | out : Entry [<map.key>] : Object | provenance | |
| B.java:599:49:599:64 | (...)... : TreeMap [<map.key>] : Object | B.java:599:48:599:78 | firstEntry(...) : Entry [<map.key>] : Object | provenance | MaD:233 |
| B.java:599:49:599:64 | (...)... : TreeMap [<map.key>] : Object | B.java:599:48:599:78 | firstEntry(...) : Entry [<map.key>] : Object | provenance | MaD:279 |
| B.java:599:97:599:99 | out : Entry [<map.key>] : Object | B.java:43:29:43:46 | obj : Entry [<map.key>] : Object | provenance | |
| B.java:599:97:599:99 | out : Entry [<map.key>] : Object | B.java:599:86:599:100 | readMapKey(...) | provenance | MaD:174 |
| B.java:604:19:604:41 | storeMapValue(...) : Map [<map.value>] : Object | B.java:604:51:604:66 | (...)... : NavigableMap [<map.value>] : Object | provenance | |
@@ -1103,7 +1096,6 @@ edges
| B.java:604:33:604:40 | source(...) : Object | B.java:604:19:604:41 | storeMapValue(...) : Map [<map.value>] : Object | provenance | MaD:215 |
| B.java:604:50:604:80 | firstEntry(...) : Entry [<map.value>] : Object | B.java:604:101:604:103 | out : Entry [<map.value>] : Object | provenance | |
| B.java:604:51:604:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:604:50:604:80 | firstEntry(...) : Entry [<map.value>] : Object | provenance | MaD:234 |
| B.java:604:51:604:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:604:50:604:80 | firstEntry(...) : Entry [<map.value>] : Object | provenance | MaD:280 |
| B.java:604:101:604:103 | out : Entry [<map.value>] : Object | B.java:47:31:47:48 | obj : Entry [<map.value>] : Object | provenance | |
| B.java:604:101:604:103 | out : Entry [<map.value>] : Object | B.java:604:88:604:104 | readMapValue(...) | provenance | MaD:175 |
| B.java:609:19:609:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | B.java:609:49:609:64 | (...)... : TreeMap [<map.key>] : Object | provenance | |
@@ -1153,7 +1145,6 @@ edges
| B.java:639:31:639:38 | source(...) : Object | B.java:639:19:639:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | provenance | MaD:214 |
| B.java:639:48:639:77 | lastEntry(...) : Entry [<map.key>] : Object | B.java:639:96:639:98 | out : Entry [<map.key>] : Object | provenance | |
| B.java:639:49:639:64 | (...)... : TreeMap [<map.key>] : Object | B.java:639:48:639:77 | lastEntry(...) : Entry [<map.key>] : Object | provenance | MaD:241 |
| B.java:639:49:639:64 | (...)... : TreeMap [<map.key>] : Object | B.java:639:48:639:77 | lastEntry(...) : Entry [<map.key>] : Object | provenance | MaD:281 |
| B.java:639:96:639:98 | out : Entry [<map.key>] : Object | B.java:43:29:43:46 | obj : Entry [<map.key>] : Object | provenance | |
| B.java:639:96:639:98 | out : Entry [<map.key>] : Object | B.java:639:85:639:99 | readMapKey(...) | provenance | MaD:174 |
| B.java:644:19:644:41 | storeMapValue(...) : Map [<map.value>] : Object | B.java:644:51:644:66 | (...)... : NavigableMap [<map.value>] : Object | provenance | |
@@ -1161,7 +1152,6 @@ edges
| B.java:644:33:644:40 | source(...) : Object | B.java:644:19:644:41 | storeMapValue(...) : Map [<map.value>] : Object | provenance | MaD:215 |
| B.java:644:50:644:79 | lastEntry(...) : Entry [<map.value>] : Object | B.java:644:100:644:102 | out : Entry [<map.value>] : Object | provenance | |
| B.java:644:51:644:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:644:50:644:79 | lastEntry(...) : Entry [<map.value>] : Object | provenance | MaD:242 |
| B.java:644:51:644:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:644:50:644:79 | lastEntry(...) : Entry [<map.value>] : Object | provenance | MaD:282 |
| B.java:644:100:644:102 | out : Entry [<map.value>] : Object | B.java:47:31:47:48 | obj : Entry [<map.value>] : Object | provenance | |
| B.java:644:100:644:102 | out : Entry [<map.value>] : Object | B.java:644:87:644:103 | readMapValue(...) | provenance | MaD:175 |
| B.java:649:19:649:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | B.java:649:49:649:64 | (...)... : TreeMap [<map.key>] : Object | provenance | |
@@ -1183,7 +1173,6 @@ edges
| B.java:659:31:659:38 | source(...) : Object | B.java:659:19:659:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | provenance | MaD:214 |
| B.java:659:48:659:82 | pollFirstEntry(...) : Entry [<map.key>] : Object | B.java:659:101:659:103 | out : Entry [<map.key>] : Object | provenance | |
| B.java:659:49:659:64 | (...)... : TreeMap [<map.key>] : Object | B.java:659:48:659:82 | pollFirstEntry(...) : Entry [<map.key>] : Object | provenance | MaD:245 |
| B.java:659:49:659:64 | (...)... : TreeMap [<map.key>] : Object | B.java:659:48:659:82 | pollFirstEntry(...) : Entry [<map.key>] : Object | provenance | MaD:283 |
| B.java:659:101:659:103 | out : Entry [<map.key>] : Object | B.java:43:29:43:46 | obj : Entry [<map.key>] : Object | provenance | |
| B.java:659:101:659:103 | out : Entry [<map.key>] : Object | B.java:659:90:659:104 | readMapKey(...) | provenance | MaD:174 |
| B.java:664:19:664:41 | storeMapValue(...) : Map [<map.value>] : Object | B.java:664:51:664:66 | (...)... : NavigableMap [<map.value>] : Object | provenance | |
@@ -1191,7 +1180,6 @@ edges
| B.java:664:33:664:40 | source(...) : Object | B.java:664:19:664:41 | storeMapValue(...) : Map [<map.value>] : Object | provenance | MaD:215 |
| B.java:664:50:664:84 | pollFirstEntry(...) : Entry [<map.value>] : Object | B.java:664:105:664:107 | out : Entry [<map.value>] : Object | provenance | |
| B.java:664:51:664:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:664:50:664:84 | pollFirstEntry(...) : Entry [<map.value>] : Object | provenance | MaD:246 |
| B.java:664:51:664:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:664:50:664:84 | pollFirstEntry(...) : Entry [<map.value>] : Object | provenance | MaD:284 |
| B.java:664:105:664:107 | out : Entry [<map.value>] : Object | B.java:47:31:47:48 | obj : Entry [<map.value>] : Object | provenance | |
| B.java:664:105:664:107 | out : Entry [<map.value>] : Object | B.java:664:92:664:108 | readMapValue(...) | provenance | MaD:175 |
| B.java:669:19:669:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | B.java:669:49:669:64 | (...)... : TreeMap [<map.key>] : Object | provenance | |
@@ -1199,7 +1187,6 @@ edges
| B.java:669:31:669:38 | source(...) : Object | B.java:669:19:669:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | provenance | MaD:214 |
| B.java:669:48:669:81 | pollLastEntry(...) : Entry [<map.key>] : Object | B.java:669:100:669:102 | out : Entry [<map.key>] : Object | provenance | |
| B.java:669:49:669:64 | (...)... : TreeMap [<map.key>] : Object | B.java:669:48:669:81 | pollLastEntry(...) : Entry [<map.key>] : Object | provenance | MaD:247 |
| B.java:669:49:669:64 | (...)... : TreeMap [<map.key>] : Object | B.java:669:48:669:81 | pollLastEntry(...) : Entry [<map.key>] : Object | provenance | MaD:285 |
| B.java:669:100:669:102 | out : Entry [<map.key>] : Object | B.java:43:29:43:46 | obj : Entry [<map.key>] : Object | provenance | |
| B.java:669:100:669:102 | out : Entry [<map.key>] : Object | B.java:669:89:669:103 | readMapKey(...) | provenance | MaD:174 |
| B.java:674:19:674:41 | storeMapValue(...) : Map [<map.value>] : Object | B.java:674:51:674:66 | (...)... : NavigableMap [<map.value>] : Object | provenance | |
@@ -1207,7 +1194,6 @@ edges
| B.java:674:33:674:40 | source(...) : Object | B.java:674:19:674:41 | storeMapValue(...) : Map [<map.value>] : Object | provenance | MaD:215 |
| B.java:674:50:674:83 | pollLastEntry(...) : Entry [<map.value>] : Object | B.java:674:104:674:106 | out : Entry [<map.value>] : Object | provenance | |
| B.java:674:51:674:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:674:50:674:83 | pollLastEntry(...) : Entry [<map.value>] : Object | provenance | MaD:248 |
| B.java:674:51:674:66 | (...)... : NavigableMap [<map.value>] : Object | B.java:674:50:674:83 | pollLastEntry(...) : Entry [<map.value>] : Object | provenance | MaD:286 |
| B.java:674:104:674:106 | out : Entry [<map.value>] : Object | B.java:47:31:47:48 | obj : Entry [<map.value>] : Object | provenance | |
| B.java:674:104:674:106 | out : Entry [<map.value>] : Object | B.java:674:91:674:107 | readMapValue(...) | provenance | MaD:175 |
| B.java:679:19:679:39 | storeMapKey(...) : TreeMap [<map.key>] : Object | B.java:679:49:679:64 | (...)... : TreeMap [<map.key>] : Object | provenance | |
@@ -2746,7 +2732,6 @@ edges
| B.java:2015:25:2015:52 | storeElementNavSet(...) : TreeSet [<element>] : Object | B.java:2015:61:2015:62 | in : TreeSet [<element>] : Object | provenance | |
| B.java:2015:44:2015:51 | source(...) : Object | B.java:26:49:26:53 | obj : Object | provenance | |
| B.java:2015:44:2015:51 | source(...) : Object | B.java:2015:25:2015:52 | storeElementNavSet(...) : TreeSet [<element>] : Object | provenance | MaD:54 |
| B.java:2015:61:2015:62 | in : TreeSet [<element>] : Object | B.java:2015:61:2015:73 | reversed(...) : SequencedSet [<element>] : Object | provenance | MaD:278 |
| B.java:2015:61:2015:62 | in : TreeSet [<element>] : Object | B.java:2015:61:2015:73 | reversed(...) : SequencedSet [<element>] : Object | provenance | MaD:299 |
| B.java:2015:61:2015:73 | reversed(...) : SequencedSet [<element>] : Object | B.java:2015:93:2015:95 | out : SequencedSet [<element>] : Object | provenance | |
| B.java:2015:93:2015:95 | out : SequencedSet [<element>] : Object | B.java:31:28:31:42 | obj : SequencedSet [<element>] : Object | provenance | |

View File

@@ -3427,7 +3427,8 @@ public class Test {
MultiMap out = null;
Object in = source();
out.put(null, in);
sink(getMapValue(out)); // $ hasValueFlow
Collection coll = (Collection) getMapValue(out);
sink(coll.toArray()[0]); // $ hasValueFlow
}
{
// "org.apache.commons.collections4;Put;true;put;;;Argument[1];MapValue of Argument[this];value;manual"
@@ -3457,13 +3458,6 @@ public class Test {
out = in.put(null, null);
sink(out); // $ hasValueFlow
}
{
// "org.apache.commons.collections4;Put;true;put;;;MapValue of Argument[this];ReturnValue;value;manual"
Object out = null;
MultiMap in = newMVMWithMapValue((String)source());
out = in.put(null, null);
sink(out); // $ hasValueFlow
}
{
// "org.apache.commons.collections4;Put;true;put;;;MapValue of Argument[this];ReturnValue;value;manual"
Object out = null;
@@ -5902,7 +5896,7 @@ public class Test {
ListOrderedMap out = null;
Object in = source();
out.put(null, in);
sink(getMapKey(out)); // $ hasValueFlow
sink(getMapValue(out)); // $ hasValueFlow
}
{
// "org.apache.commons.collections4.map;ListOrderedMap;true;put;;;Argument[1];MapKey of Argument[this];value;manual"

View File

@@ -444,7 +444,6 @@ edges
| Test.java:343:10:343:24 | getString(...) : String | Test.java:344:9:344:11 | out | provenance | |
| Test.java:349:19:349:37 | (...)... : JSONArray | Test.java:350:10:350:11 | in : JSONArray | provenance | |
| Test.java:349:30:349:37 | source(...) : Object | Test.java:349:19:349:37 | (...)... : JSONArray | provenance | |
| Test.java:350:10:350:11 | in : JSONArray | Test.java:350:10:350:22 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:1 |
| Test.java:350:10:350:11 | in : JSONArray | Test.java:350:10:350:22 | iterator(...) : Iterator [<element>] : Object | provenance | MaD:42 |
| Test.java:350:10:350:22 | iterator(...) : Iterator [<element>] : Object | Test.java:351:20:351:22 | out : Iterator [<element>] : Object | provenance | |
| Test.java:351:20:351:22 | out : Iterator [<element>] : Object | Test.java:40:20:40:30 | it : Iterator [<element>] : Object | provenance | |

View File

@@ -46,15 +46,10 @@ edges
| 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: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: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: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: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: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 |
@@ -73,7 +68,6 @@ edges
| 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 | |
@@ -82,7 +76,6 @@ edges
| 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 | |
@@ -91,7 +84,6 @@ edges
| 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 |
@@ -100,7 +92,6 @@ edges
| 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:12 |
@@ -113,7 +104,6 @@ edges
| 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 | |
@@ -122,7 +112,6 @@ edges
| 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:14 |
@@ -133,7 +122,6 @@ edges
| Test.java:112:25:112:26 | in : PropertyValue | Test.java:112:4:112:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:13 |
| 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 | |
@@ -142,7 +130,6 @@ edges
| 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 | |
@@ -151,7 +138,6 @@ edges
| 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:19 |
@@ -164,7 +150,6 @@ edges
| 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 | |
@@ -173,7 +158,6 @@ edges
| 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:21 |
@@ -186,7 +170,6 @@ edges
| Test.java:161:26:161:27 | in : MutablePropertyValues [<element>] : PropertyValue | Test.java:161:4:161:6 | out [post update] : MutablePropertyValues [<element>] : PropertyValue | provenance | MaD:20 |
| 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 |
@@ -197,7 +180,6 @@ edges
| 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 | |
@@ -212,7 +194,6 @@ edges
| 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 | |
@@ -222,7 +203,6 @@ edges
| 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 | |
@@ -267,7 +247,6 @@ edges
| 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 | |
@@ -280,7 +259,6 @@ edges
| 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 | |

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -53,9 +53,7 @@ edges
| FunctionalTest.java:42:22:42:22 | v : String | FunctionalTest.java:43:18:43:18 | v | provenance | |
| FunctionalTest.java:45:9:48:22 | or(...) : Optional [<element>] : String | FunctionalTest.java:48:34:48:34 | v : String | provenance | MaD:6 |
| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | FunctionalTest.java:45:9:48:22 | or(...) : Optional [<element>] : String | provenance | MaD:11 |
| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | FunctionalTest.java:45:9:48:22 | or(...) : Optional [<element>] : String | provenance | heuristic-callback |
| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | FunctionalTest.java:48:15:48:21 | parameter this : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | provenance | MaD:11 |
| FunctionalTest.java:48:15:48:21 | ...->... : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | FunctionalTest.java:48:15:48:21 | parameter this : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | provenance | heuristic-callback |
| FunctionalTest.java:48:15:48:21 | Optional<String> o : Optional [<element>] : String | FunctionalTest.java:48:15:48:21 | ...->... : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | provenance | |
| FunctionalTest.java:48:15:48:21 | parameter this : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | FunctionalTest.java:48:21:48:21 | this : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | provenance | |
| FunctionalTest.java:48:21:48:21 | this : new Supplier<Optional<? extends String>>(...) { ... } [Optional<String> o, <element>] : String | FunctionalTest.java:48:21:48:21 | o : Optional [<element>] : String | provenance | |

View File

@@ -1,197 +1,195 @@
models
| 1 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
| 2 | Summary: java.util; Scanner; true; Scanner; ; ; Argument[0]; Argument[this]; taint; manual |
| 3 | Summary: java.util; Scanner; true; findInLine; ; ; Argument[this]; ReturnValue; taint; manual |
| 4 | Summary: java.util; Scanner; true; findWithinHorizon; ; ; Argument[this]; ReturnValue; taint; manual |
| 5 | Summary: java.util; Scanner; true; next; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: java.util; Scanner; true; nextBigDecimal; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: java.util; Scanner; true; nextBigInteger; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: java.util; Scanner; true; nextBoolean; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: java.util; Scanner; true; nextByte; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: java.util; Scanner; true; nextDouble; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: java.util; Scanner; true; nextFloat; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: java.util; Scanner; true; nextInt; ; ; Argument[this]; ReturnValue; taint; manual |
| 13 | Summary: java.util; Scanner; true; nextLine; ; ; Argument[this]; ReturnValue; taint; manual |
| 14 | Summary: java.util; Scanner; true; nextLong; ; ; Argument[this]; ReturnValue; taint; manual |
| 15 | Summary: java.util; Scanner; true; nextShort; ; ; Argument[this]; ReturnValue; taint; manual |
| 16 | Summary: java.util; Scanner; true; reset; ; ; Argument[this]; ReturnValue; value; manual |
| 17 | Summary: java.util; Scanner; true; skip; ; ; Argument[this]; ReturnValue; value; manual |
| 18 | Summary: java.util; Scanner; true; useDelimiter; ; ; Argument[this]; ReturnValue; value; manual |
| 19 | Summary: java.util; Scanner; true; useLocale; ; ; Argument[this]; ReturnValue; value; manual |
| 20 | Summary: java.util; Scanner; true; useRadix; ; ; Argument[this]; ReturnValue; value; manual |
| 1 | Summary: java.util; Scanner; true; Scanner; ; ; Argument[0]; Argument[this]; taint; manual |
| 2 | Summary: java.util; Scanner; true; findInLine; ; ; Argument[this]; ReturnValue; taint; manual |
| 3 | Summary: java.util; Scanner; true; findWithinHorizon; ; ; Argument[this]; ReturnValue; taint; manual |
| 4 | Summary: java.util; Scanner; true; next; ; ; Argument[this]; ReturnValue; taint; manual |
| 5 | Summary: java.util; Scanner; true; nextBigDecimal; ; ; Argument[this]; ReturnValue; taint; manual |
| 6 | Summary: java.util; Scanner; true; nextBigInteger; ; ; Argument[this]; ReturnValue; taint; manual |
| 7 | Summary: java.util; Scanner; true; nextBoolean; ; ; Argument[this]; ReturnValue; taint; manual |
| 8 | Summary: java.util; Scanner; true; nextByte; ; ; Argument[this]; ReturnValue; taint; manual |
| 9 | Summary: java.util; Scanner; true; nextDouble; ; ; Argument[this]; ReturnValue; taint; manual |
| 10 | Summary: java.util; Scanner; true; nextFloat; ; ; Argument[this]; ReturnValue; taint; manual |
| 11 | Summary: java.util; Scanner; true; nextInt; ; ; Argument[this]; ReturnValue; taint; manual |
| 12 | Summary: java.util; Scanner; true; nextLine; ; ; Argument[this]; ReturnValue; taint; manual |
| 13 | Summary: java.util; Scanner; true; nextLong; ; ; Argument[this]; ReturnValue; taint; manual |
| 14 | Summary: java.util; Scanner; true; nextShort; ; ; Argument[this]; ReturnValue; taint; manual |
| 15 | Summary: java.util; Scanner; true; reset; ; ; Argument[this]; ReturnValue; value; manual |
| 16 | Summary: java.util; Scanner; true; skip; ; ; Argument[this]; ReturnValue; value; manual |
| 17 | Summary: java.util; Scanner; true; useDelimiter; ; ; Argument[this]; ReturnValue; value; manual |
| 18 | Summary: java.util; Scanner; true; useLocale; ; ; Argument[this]; ReturnValue; value; manual |
| 19 | Summary: java.util; Scanner; true; useRadix; ; ; Argument[this]; ReturnValue; value; manual |
edges
| Test.java:27:14:27:28 | (...)... : File | Test.java:28:22:28:23 | in : File | provenance | |
| Test.java:27:21:27:28 | source(...) : Object | Test.java:27:14:27:28 | (...)... : File | provenance | |
| Test.java:28:10:28:24 | new Scanner(...) : Scanner | Test.java:29:9:29:11 | out | provenance | |
| Test.java:28:22:28:23 | in : File | Test.java:28:10:28:24 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:28:22:28:23 | in : File | Test.java:28:10:28:24 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:34:14:34:28 | (...)... : File | Test.java:35:22:35:23 | in : File | provenance | |
| Test.java:34:21:34:28 | source(...) : Object | Test.java:34:14:34:28 | (...)... : File | provenance | |
| Test.java:35:10:35:40 | new Scanner(...) : Scanner | Test.java:36:9:36:11 | out | provenance | |
| Test.java:35:22:35:23 | in : File | Test.java:35:10:35:40 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:35:22:35:23 | in : File | Test.java:35:10:35:40 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:41:14:41:28 | (...)... : File | Test.java:42:22:42:23 | in : File | provenance | |
| Test.java:41:21:41:28 | source(...) : Object | Test.java:41:14:41:28 | (...)... : File | provenance | |
| Test.java:42:10:42:39 | new Scanner(...) : Scanner | Test.java:43:9:43:11 | out | provenance | |
| Test.java:42:22:42:23 | in : File | Test.java:42:10:42:39 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:42:22:42:23 | in : File | Test.java:42:10:42:39 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:48:21:48:42 | (...)... : InputStream | Test.java:49:22:49:23 | in : InputStream | provenance | |
| Test.java:48:35:48:42 | source(...) : Object | Test.java:48:21:48:42 | (...)... : InputStream | provenance | |
| Test.java:49:10:49:24 | new Scanner(...) : Scanner | Test.java:50:9:50:11 | out | provenance | |
| Test.java:49:22:49:23 | in : InputStream | Test.java:49:10:49:24 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:49:22:49:23 | in : InputStream | Test.java:49:10:49:24 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:55:21:55:42 | (...)... : InputStream | Test.java:56:22:56:23 | in : InputStream | provenance | |
| Test.java:55:35:55:42 | source(...) : Object | Test.java:55:21:55:42 | (...)... : InputStream | provenance | |
| Test.java:56:10:56:40 | new Scanner(...) : Scanner | Test.java:57:9:57:11 | out | provenance | |
| Test.java:56:22:56:23 | in : InputStream | Test.java:56:10:56:40 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:56:22:56:23 | in : InputStream | Test.java:56:10:56:40 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:62:21:62:42 | (...)... : InputStream | Test.java:63:22:63:23 | in : InputStream | provenance | |
| Test.java:62:35:62:42 | source(...) : Object | Test.java:62:21:62:42 | (...)... : InputStream | provenance | |
| Test.java:63:10:63:39 | new Scanner(...) : Scanner | Test.java:64:9:64:11 | out | provenance | |
| Test.java:63:22:63:23 | in : InputStream | Test.java:63:10:63:39 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:63:22:63:23 | in : InputStream | Test.java:63:10:63:39 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:69:14:69:28 | (...)... : Path | Test.java:70:22:70:23 | in : Path | provenance | |
| Test.java:69:21:69:28 | source(...) : Object | Test.java:69:14:69:28 | (...)... : Path | provenance | |
| Test.java:70:10:70:24 | new Scanner(...) : Scanner | Test.java:71:9:71:11 | out | provenance | |
| Test.java:70:22:70:23 | in : Path | Test.java:70:10:70:24 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:70:22:70:23 | in : Path | Test.java:70:10:70:24 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:76:14:76:28 | (...)... : Path | Test.java:77:22:77:23 | in : Path | provenance | |
| Test.java:76:21:76:28 | source(...) : Object | Test.java:76:14:76:28 | (...)... : Path | provenance | |
| Test.java:77:10:77:40 | new Scanner(...) : Scanner | Test.java:78:9:78:11 | out | provenance | |
| Test.java:77:22:77:23 | in : Path | Test.java:77:10:77:40 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:77:22:77:23 | in : Path | Test.java:77:10:77:40 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:83:14:83:28 | (...)... : Path | Test.java:84:22:84:23 | in : Path | provenance | |
| Test.java:83:21:83:28 | source(...) : Object | Test.java:83:14:83:28 | (...)... : Path | provenance | |
| Test.java:84:10:84:39 | new Scanner(...) : Scanner | Test.java:85:9:85:11 | out | provenance | |
| Test.java:84:22:84:23 | in : Path | Test.java:84:10:84:39 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:84:22:84:23 | in : Path | Test.java:84:10:84:39 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:90:18:90:36 | (...)... : Readable | Test.java:91:22:91:23 | in : Readable | provenance | |
| Test.java:90:29:90:36 | source(...) : Object | Test.java:90:18:90:36 | (...)... : Readable | provenance | |
| Test.java:91:10:91:24 | new Scanner(...) : Scanner | Test.java:92:9:92:11 | out | provenance | |
| Test.java:91:22:91:23 | in : Readable | Test.java:91:10:91:24 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:91:22:91:23 | in : Readable | Test.java:91:10:91:24 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:97:29:97:58 | (...)... : ReadableByteChannel | Test.java:98:22:98:23 | in : ReadableByteChannel | provenance | |
| Test.java:97:51:97:58 | source(...) : Object | Test.java:97:29:97:58 | (...)... : ReadableByteChannel | provenance | |
| Test.java:98:10:98:24 | new Scanner(...) : Scanner | Test.java:99:9:99:11 | out | provenance | |
| Test.java:98:22:98:23 | in : ReadableByteChannel | Test.java:98:10:98:24 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:98:22:98:23 | in : ReadableByteChannel | Test.java:98:10:98:24 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:104:29:104:58 | (...)... : ReadableByteChannel | Test.java:105:22:105:23 | in : ReadableByteChannel | provenance | |
| Test.java:104:51:104:58 | source(...) : Object | Test.java:104:29:104:58 | (...)... : ReadableByteChannel | provenance | |
| Test.java:105:10:105:40 | new Scanner(...) : Scanner | Test.java:106:9:106:11 | out | provenance | |
| Test.java:105:22:105:23 | in : ReadableByteChannel | Test.java:105:10:105:40 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:105:22:105:23 | in : ReadableByteChannel | Test.java:105:10:105:40 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:111:29:111:58 | (...)... : ReadableByteChannel | Test.java:112:22:112:23 | in : ReadableByteChannel | provenance | |
| Test.java:111:51:111:58 | source(...) : Object | Test.java:111:29:111:58 | (...)... : ReadableByteChannel | provenance | |
| Test.java:112:10:112:39 | new Scanner(...) : Scanner | Test.java:113:9:113:11 | out | provenance | |
| Test.java:112:22:112:23 | in : ReadableByteChannel | Test.java:112:10:112:39 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:112:22:112:23 | in : ReadableByteChannel | Test.java:112:10:112:39 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:118:16:118:32 | (...)... : String | Test.java:119:22:119:23 | in : String | provenance | |
| Test.java:118:25:118:32 | source(...) : Object | Test.java:118:16:118:32 | (...)... : String | provenance | |
| Test.java:119:10:119:24 | new Scanner(...) : Scanner | Test.java:120:9:120:11 | out | provenance | |
| Test.java:119:22:119:23 | in : String | Test.java:119:10:119:24 | new Scanner(...) : Scanner | provenance | MaD:2 |
| Test.java:119:22:119:23 | in : String | Test.java:119:10:119:24 | new Scanner(...) : Scanner | provenance | MaD:1 |
| Test.java:125:17:125:34 | (...)... : Scanner | Test.java:126:10:126:11 | in : Scanner | provenance | |
| Test.java:125:27:125:34 | source(...) : Object | Test.java:125:17:125:34 | (...)... : Scanner | provenance | |
| Test.java:126:10:126:11 | in : Scanner | Test.java:126:10:126:38 | findInLine(...) : String | provenance | MaD:3 |
| Test.java:126:10:126:11 | in : Scanner | Test.java:126:10:126:38 | findInLine(...) : String | provenance | MaD:2 |
| Test.java:126:10:126:38 | findInLine(...) : String | Test.java:127:9:127:11 | out | provenance | |
| Test.java:132:17:132:34 | (...)... : Scanner | Test.java:133:10:133:11 | in : Scanner | provenance | |
| Test.java:132:27:132:34 | source(...) : Object | Test.java:132:17:132:34 | (...)... : Scanner | provenance | |
| Test.java:133:10:133:11 | in : Scanner | Test.java:133:10:133:37 | findInLine(...) : String | provenance | MaD:3 |
| Test.java:133:10:133:11 | in : Scanner | Test.java:133:10:133:37 | findInLine(...) : String | provenance | MaD:2 |
| Test.java:133:10:133:37 | findInLine(...) : String | Test.java:134:9:134:11 | out | provenance | |
| Test.java:139:17:139:34 | (...)... : Scanner | Test.java:140:10:140:11 | in : Scanner | provenance | |
| Test.java:139:27:139:34 | source(...) : Object | Test.java:139:17:139:34 | (...)... : Scanner | provenance | |
| Test.java:140:10:140:11 | in : Scanner | Test.java:140:10:140:48 | findWithinHorizon(...) : String | provenance | MaD:4 |
| Test.java:140:10:140:11 | in : Scanner | Test.java:140:10:140:48 | findWithinHorizon(...) : String | provenance | MaD:3 |
| Test.java:140:10:140:48 | findWithinHorizon(...) : String | Test.java:141:9:141:11 | out | provenance | |
| Test.java:146:17:146:34 | (...)... : Scanner | Test.java:147:10:147:11 | in : Scanner | provenance | |
| Test.java:146:27:146:34 | source(...) : Object | Test.java:146:17:146:34 | (...)... : Scanner | provenance | |
| Test.java:147:10:147:11 | in : Scanner | Test.java:147:10:147:47 | findWithinHorizon(...) : String | provenance | MaD:4 |
| Test.java:147:10:147:11 | in : Scanner | Test.java:147:10:147:47 | findWithinHorizon(...) : String | provenance | MaD:3 |
| Test.java:147:10:147:47 | findWithinHorizon(...) : String | Test.java:148:9:148:11 | out | provenance | |
| Test.java:153:17:153:34 | (...)... : Scanner | Test.java:154:10:154:11 | in : Scanner | provenance | |
| Test.java:153:27:153:34 | source(...) : Object | Test.java:153:17:153:34 | (...)... : Scanner | provenance | |
| Test.java:154:10:154:11 | in : Scanner | Test.java:154:10:154:32 | next(...) : String | provenance | MaD:5 |
| Test.java:154:10:154:11 | in : Scanner | Test.java:154:10:154:32 | next(...) : String | provenance | MaD:4 |
| Test.java:154:10:154:32 | next(...) : String | Test.java:155:9:155:11 | out | provenance | |
| Test.java:160:17:160:34 | (...)... : Scanner | Test.java:161:10:161:11 | in : Scanner | provenance | |
| Test.java:160:27:160:34 | source(...) : Object | Test.java:160:17:160:34 | (...)... : Scanner | provenance | |
| Test.java:161:10:161:11 | in : Scanner | Test.java:161:10:161:31 | next(...) : String | provenance | MaD:5 |
| Test.java:161:10:161:11 | in : Scanner | Test.java:161:10:161:31 | next(...) : String | provenance | MaD:4 |
| Test.java:161:10:161:31 | next(...) : String | Test.java:162:9:162:11 | out | provenance | |
| Test.java:167:17:167:34 | (...)... : Scanner | Test.java:168:10:168:11 | in : Scanner | provenance | |
| Test.java:167:27:167:34 | source(...) : Object | Test.java:167:17:167:34 | (...)... : Scanner | provenance | |
| Test.java:168:10:168:11 | in : Scanner | Test.java:168:10:168:18 | next(...) : String | provenance | MaD:1 |
| Test.java:168:10:168:11 | in : Scanner | Test.java:168:10:168:18 | next(...) : String | provenance | MaD:5 |
| Test.java:168:10:168:11 | in : Scanner | Test.java:168:10:168:18 | next(...) : String | provenance | MaD:4 |
| Test.java:168:10:168:18 | next(...) : String | Test.java:169:9:169:11 | out | provenance | |
| Test.java:174:17:174:34 | (...)... : Scanner | Test.java:175:10:175:11 | in : Scanner | provenance | |
| Test.java:174:27:174:34 | source(...) : Object | Test.java:174:17:174:34 | (...)... : Scanner | provenance | |
| Test.java:175:10:175:11 | in : Scanner | Test.java:175:10:175:28 | nextBigDecimal(...) : BigDecimal | provenance | MaD:6 |
| Test.java:175:10:175:11 | in : Scanner | Test.java:175:10:175:28 | nextBigDecimal(...) : BigDecimal | provenance | MaD:5 |
| Test.java:175:10:175:28 | nextBigDecimal(...) : BigDecimal | Test.java:176:9:176:11 | out | provenance | |
| Test.java:181:17:181:34 | (...)... : Scanner | Test.java:182:10:182:11 | in : Scanner | provenance | |
| Test.java:181:27:181:34 | source(...) : Object | Test.java:181:17:181:34 | (...)... : Scanner | provenance | |
| Test.java:182:10:182:11 | in : Scanner | Test.java:182:10:182:28 | nextBigInteger(...) : BigInteger | provenance | MaD:7 |
| Test.java:182:10:182:11 | in : Scanner | Test.java:182:10:182:28 | nextBigInteger(...) : BigInteger | provenance | MaD:6 |
| Test.java:182:10:182:28 | nextBigInteger(...) : BigInteger | Test.java:183:9:183:11 | out | provenance | |
| Test.java:188:17:188:34 | (...)... : Scanner | Test.java:189:10:189:11 | in : Scanner | provenance | |
| Test.java:188:27:188:34 | source(...) : Object | Test.java:188:17:188:34 | (...)... : Scanner | provenance | |
| Test.java:189:10:189:11 | in : Scanner | Test.java:189:10:189:29 | nextBigInteger(...) : BigInteger | provenance | MaD:7 |
| Test.java:189:10:189:11 | in : Scanner | Test.java:189:10:189:29 | nextBigInteger(...) : BigInteger | provenance | MaD:6 |
| Test.java:189:10:189:29 | nextBigInteger(...) : BigInteger | Test.java:190:9:190:11 | out | provenance | |
| Test.java:195:17:195:34 | (...)... : Scanner | Test.java:196:10:196:11 | in : Scanner | provenance | |
| Test.java:195:27:195:34 | source(...) : Object | Test.java:195:17:195:34 | (...)... : Scanner | provenance | |
| Test.java:196:10:196:11 | in : Scanner | Test.java:196:10:196:25 | nextBoolean(...) : Boolean | provenance | MaD:8 |
| Test.java:196:10:196:11 | in : Scanner | Test.java:196:10:196:25 | nextBoolean(...) : Boolean | provenance | MaD:7 |
| Test.java:196:10:196:25 | nextBoolean(...) : Boolean | Test.java:197:9:197:11 | out | provenance | |
| Test.java:202:17:202:34 | (...)... : Scanner | Test.java:203:10:203:11 | in : Scanner | provenance | |
| Test.java:202:27:202:34 | source(...) : Object | Test.java:202:17:202:34 | (...)... : Scanner | provenance | |
| Test.java:203:10:203:11 | in : Scanner | Test.java:203:10:203:22 | nextByte(...) : Number | provenance | MaD:9 |
| Test.java:203:10:203:11 | in : Scanner | Test.java:203:10:203:22 | nextByte(...) : Number | provenance | MaD:8 |
| Test.java:203:10:203:22 | nextByte(...) : Number | Test.java:204:9:204:11 | out | provenance | |
| Test.java:209:17:209:34 | (...)... : Scanner | Test.java:210:10:210:11 | in : Scanner | provenance | |
| Test.java:209:27:209:34 | source(...) : Object | Test.java:209:17:209:34 | (...)... : Scanner | provenance | |
| Test.java:210:10:210:11 | in : Scanner | Test.java:210:10:210:23 | nextByte(...) : Number | provenance | MaD:9 |
| Test.java:210:10:210:11 | in : Scanner | Test.java:210:10:210:23 | nextByte(...) : Number | provenance | MaD:8 |
| Test.java:210:10:210:23 | nextByte(...) : Number | Test.java:211:9:211:11 | out | provenance | |
| Test.java:216:17:216:34 | (...)... : Scanner | Test.java:217:10:217:11 | in : Scanner | provenance | |
| Test.java:216:27:216:34 | source(...) : Object | Test.java:216:17:216:34 | (...)... : Scanner | provenance | |
| Test.java:217:10:217:11 | in : Scanner | Test.java:217:10:217:24 | nextDouble(...) : Number | provenance | MaD:10 |
| Test.java:217:10:217:11 | in : Scanner | Test.java:217:10:217:24 | nextDouble(...) : Number | provenance | MaD:9 |
| Test.java:217:10:217:24 | nextDouble(...) : Number | Test.java:218:9:218:11 | out | provenance | |
| Test.java:223:17:223:34 | (...)... : Scanner | Test.java:224:10:224:11 | in : Scanner | provenance | |
| Test.java:223:27:223:34 | source(...) : Object | Test.java:223:17:223:34 | (...)... : Scanner | provenance | |
| Test.java:224:10:224:11 | in : Scanner | Test.java:224:10:224:23 | nextFloat(...) : Number | provenance | MaD:11 |
| Test.java:224:10:224:11 | in : Scanner | Test.java:224:10:224:23 | nextFloat(...) : Number | provenance | MaD:10 |
| Test.java:224:10:224:23 | nextFloat(...) : Number | Test.java:225:9:225:11 | out | provenance | |
| Test.java:230:17:230:34 | (...)... : Scanner | Test.java:231:10:231:11 | in : Scanner | provenance | |
| Test.java:230:27:230:34 | source(...) : Object | Test.java:230:17:230:34 | (...)... : Scanner | provenance | |
| Test.java:231:10:231:11 | in : Scanner | Test.java:231:10:231:21 | nextInt(...) : Number | provenance | MaD:12 |
| Test.java:231:10:231:11 | in : Scanner | Test.java:231:10:231:21 | nextInt(...) : Number | provenance | MaD:11 |
| Test.java:231:10:231:21 | nextInt(...) : Number | Test.java:232:9:232:11 | out | provenance | |
| Test.java:237:17:237:34 | (...)... : Scanner | Test.java:238:10:238:11 | in : Scanner | provenance | |
| Test.java:237:27:237:34 | source(...) : Object | Test.java:237:17:237:34 | (...)... : Scanner | provenance | |
| Test.java:238:10:238:11 | in : Scanner | Test.java:238:10:238:22 | nextInt(...) : Number | provenance | MaD:12 |
| Test.java:238:10:238:11 | in : Scanner | Test.java:238:10:238:22 | nextInt(...) : Number | provenance | MaD:11 |
| Test.java:238:10:238:22 | nextInt(...) : Number | Test.java:239:9:239:11 | out | provenance | |
| Test.java:244:17:244:34 | (...)... : Scanner | Test.java:245:10:245:11 | in : Scanner | provenance | |
| Test.java:244:27:244:34 | source(...) : Object | Test.java:244:17:244:34 | (...)... : Scanner | provenance | |
| Test.java:245:10:245:11 | in : Scanner | Test.java:245:10:245:22 | nextLine(...) : String | provenance | MaD:13 |
| Test.java:245:10:245:11 | in : Scanner | Test.java:245:10:245:22 | nextLine(...) : String | provenance | MaD:12 |
| Test.java:245:10:245:22 | nextLine(...) : String | Test.java:246:9:246:11 | out | provenance | |
| Test.java:251:17:251:34 | (...)... : Scanner | Test.java:252:10:252:11 | in : Scanner | provenance | |
| Test.java:251:27:251:34 | source(...) : Object | Test.java:251:17:251:34 | (...)... : Scanner | provenance | |
| Test.java:252:10:252:11 | in : Scanner | Test.java:252:10:252:22 | nextLong(...) : Number | provenance | MaD:14 |
| Test.java:252:10:252:11 | in : Scanner | Test.java:252:10:252:22 | nextLong(...) : Number | provenance | MaD:13 |
| Test.java:252:10:252:22 | nextLong(...) : Number | Test.java:253:9:253:11 | out | provenance | |
| Test.java:258:17:258:34 | (...)... : Scanner | Test.java:259:10:259:11 | in : Scanner | provenance | |
| Test.java:258:27:258:34 | source(...) : Object | Test.java:258:17:258:34 | (...)... : Scanner | provenance | |
| Test.java:259:10:259:11 | in : Scanner | Test.java:259:10:259:23 | nextLong(...) : Number | provenance | MaD:14 |
| Test.java:259:10:259:11 | in : Scanner | Test.java:259:10:259:23 | nextLong(...) : Number | provenance | MaD:13 |
| Test.java:259:10:259:23 | nextLong(...) : Number | Test.java:260:9:260:11 | out | provenance | |
| Test.java:265:17:265:34 | (...)... : Scanner | Test.java:266:10:266:11 | in : Scanner | provenance | |
| Test.java:265:27:265:34 | source(...) : Object | Test.java:265:17:265:34 | (...)... : Scanner | provenance | |
| Test.java:266:10:266:11 | in : Scanner | Test.java:266:10:266:23 | nextShort(...) : Number | provenance | MaD:15 |
| Test.java:266:10:266:11 | in : Scanner | Test.java:266:10:266:23 | nextShort(...) : Number | provenance | MaD:14 |
| Test.java:266:10:266:23 | nextShort(...) : Number | Test.java:267:9:267:11 | out | provenance | |
| Test.java:272:17:272:34 | (...)... : Scanner | Test.java:273:10:273:11 | in : Scanner | provenance | |
| Test.java:272:27:272:34 | source(...) : Object | Test.java:272:17:272:34 | (...)... : Scanner | provenance | |
| Test.java:273:10:273:11 | in : Scanner | Test.java:273:10:273:24 | nextShort(...) : Number | provenance | MaD:15 |
| Test.java:273:10:273:11 | in : Scanner | Test.java:273:10:273:24 | nextShort(...) : Number | provenance | MaD:14 |
| Test.java:273:10:273:24 | nextShort(...) : Number | Test.java:274:9:274:11 | out | provenance | |
| Test.java:279:17:279:34 | (...)... : Scanner | Test.java:280:10:280:11 | in : Scanner | provenance | |
| Test.java:279:27:279:34 | source(...) : Object | Test.java:279:17:279:34 | (...)... : Scanner | provenance | |
| Test.java:280:10:280:11 | in : Scanner | Test.java:280:10:280:19 | reset(...) : Scanner | provenance | MaD:16 |
| Test.java:280:10:280:11 | in : Scanner | Test.java:280:10:280:19 | reset(...) : Scanner | provenance | MaD:15 |
| Test.java:280:10:280:19 | reset(...) : Scanner | Test.java:281:9:281:11 | out | provenance | |
| Test.java:286:17:286:34 | (...)... : Scanner | Test.java:287:10:287:11 | in : Scanner | provenance | |
| Test.java:286:27:286:34 | source(...) : Object | Test.java:286:17:286:34 | (...)... : Scanner | provenance | |
| Test.java:287:10:287:11 | in : Scanner | Test.java:287:10:287:32 | skip(...) : Scanner | provenance | MaD:17 |
| Test.java:287:10:287:11 | in : Scanner | Test.java:287:10:287:32 | skip(...) : Scanner | provenance | MaD:16 |
| Test.java:287:10:287:32 | skip(...) : Scanner | Test.java:288:9:288:11 | out | provenance | |
| Test.java:293:17:293:34 | (...)... : Scanner | Test.java:294:10:294:11 | in : Scanner | provenance | |
| Test.java:293:27:293:34 | source(...) : Object | Test.java:293:17:293:34 | (...)... : Scanner | provenance | |
| Test.java:294:10:294:11 | in : Scanner | Test.java:294:10:294:31 | skip(...) : Scanner | provenance | MaD:17 |
| Test.java:294:10:294:11 | in : Scanner | Test.java:294:10:294:31 | skip(...) : Scanner | provenance | MaD:16 |
| Test.java:294:10:294:31 | skip(...) : Scanner | Test.java:295:9:295:11 | out | provenance | |
| Test.java:300:17:300:34 | (...)... : Scanner | Test.java:301:10:301:11 | in : Scanner | provenance | |
| Test.java:300:27:300:34 | source(...) : Object | Test.java:300:17:300:34 | (...)... : Scanner | provenance | |
| Test.java:301:10:301:11 | in : Scanner | Test.java:301:10:301:40 | useDelimiter(...) : Scanner | provenance | MaD:18 |
| Test.java:301:10:301:11 | in : Scanner | Test.java:301:10:301:40 | useDelimiter(...) : Scanner | provenance | MaD:17 |
| Test.java:301:10:301:40 | useDelimiter(...) : Scanner | Test.java:302:9:302:11 | out | provenance | |
| Test.java:307:17:307:34 | (...)... : Scanner | Test.java:308:10:308:11 | in : Scanner | provenance | |
| Test.java:307:27:307:34 | source(...) : Object | Test.java:307:17:307:34 | (...)... : Scanner | provenance | |
| Test.java:308:10:308:11 | in : Scanner | Test.java:308:10:308:39 | useDelimiter(...) : Scanner | provenance | MaD:18 |
| Test.java:308:10:308:11 | in : Scanner | Test.java:308:10:308:39 | useDelimiter(...) : Scanner | provenance | MaD:17 |
| Test.java:308:10:308:39 | useDelimiter(...) : Scanner | Test.java:309:9:309:11 | out | provenance | |
| Test.java:314:17:314:34 | (...)... : Scanner | Test.java:315:10:315:11 | in : Scanner | provenance | |
| Test.java:314:27:314:34 | source(...) : Object | Test.java:314:17:314:34 | (...)... : Scanner | provenance | |
| Test.java:315:10:315:11 | in : Scanner | Test.java:315:10:315:27 | useLocale(...) : Scanner | provenance | MaD:19 |
| Test.java:315:10:315:11 | in : Scanner | Test.java:315:10:315:27 | useLocale(...) : Scanner | provenance | MaD:18 |
| Test.java:315:10:315:27 | useLocale(...) : Scanner | Test.java:316:9:316:11 | out | provenance | |
| Test.java:321:17:321:34 | (...)... : Scanner | Test.java:322:10:322:11 | in : Scanner | provenance | |
| Test.java:321:27:321:34 | source(...) : Object | Test.java:321:17:321:34 | (...)... : Scanner | provenance | |
| Test.java:322:10:322:11 | in : Scanner | Test.java:322:10:322:23 | useRadix(...) : Scanner | provenance | MaD:20 |
| Test.java:322:10:322:11 | in : Scanner | Test.java:322:10:322:23 | useRadix(...) : Scanner | provenance | MaD:19 |
| Test.java:322:10:322:23 | useRadix(...) : Scanner | Test.java:323:9:323:11 | out | provenance | |
nodes
| Test.java:27:14:27:28 | (...)... : File | semmle.label | (...)... : File |