1
1
models
2
- | 1 | Summary: java.util; Formatter; false; Formatter; (Appendable); ; Argument[0]; Argument[this]; taint; df-generated |
3
- | 2 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; df-generated |
4
- | 3 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[this]; ReturnValue; taint; df-generated |
5
- | 4 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[this]; ReturnValue; value; manual |
6
- | 5 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual |
7
- | 6 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
8
- | 7 | Summary: java.lang; String; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
9
- | 8 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[this]; ReturnValue; taint; manual |
10
- | 9 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
2
+ | 1 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[this]; ReturnValue; value; dfc-generated |
3
+ | 2 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[this]; ReturnValue; value; manual |
4
+ | 3 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual |
5
+ | 4 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
6
+ | 5 | Summary: java.lang; String; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
7
+ | 6 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[this]; ReturnValue; taint; manual |
8
+ | 7 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
11
9
edges
12
10
| A.java:12:22:12:29 | source(...) : String | A.java:15:14:15:16 | bad : String | provenance | |
13
11
| A.java:12:22:12:29 | source(...) : String | A.java:16:34:16:36 | bad : String | provenance | |
14
12
| A.java:12:22:12:29 | source(...) : String | A.java:17:36:17:38 | bad : String | provenance | |
15
13
| A.java:12:22:12:29 | source(...) : String | A.java:19:107:19:109 | bad : String | provenance | |
16
- | A.java:15:14:15:16 | bad : String | A.java:15:14:15:32 | formatted(...) | provenance | MaD:8 |
17
- | A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | A.java:16:14:16:48 | formatted(...) | provenance | MaD:9 |
14
+ | A.java:15:14:15:16 | bad : String | A.java:15:14:15:32 | formatted(...) | provenance | MaD:6 |
15
+ | A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | A.java:16:14:16:48 | formatted(...) | provenance | MaD:7 |
18
16
| A.java:16:34:16:36 | bad : String | A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | provenance | |
19
- | A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | A.java:17:14:17:45 | format(...) | provenance | MaD:7 |
17
+ | A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | A.java:17:14:17:45 | format(...) | provenance | MaD:5 |
20
18
| A.java:17:36:17:38 | bad : String | A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | provenance | |
21
- | A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | A.java:19:14:19:110 | format(...) | provenance | MaD:7 |
19
+ | A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | A.java:19:14:19:110 | format(...) | provenance | MaD:5 |
22
20
| A.java:19:107:19:109 | bad : String | A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | provenance | |
23
21
| A.java:23:22:23:29 | source(...) : String | A.java:27:14:27:32 | format(...) | provenance | TaintPreservingCallable |
24
- | A.java:23:22:23:29 | source(...) : String | A.java:27:29:27:31 | bad : String | provenance | |
25
22
| A.java:23:22:23:29 | source(...) : String | A.java:28:14:28:25 | toString(...) | provenance | TaintPreservingCallable |
26
- | A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | A.java:27:14:27:32 | format(...) | provenance | MaD:2 |
27
- | A.java:27:29:27:31 | bad : String | A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | provenance | |
28
23
| A.java:32:22:32:29 | source(...) : String | A.java:36:14:36:15 | sb : StringBuilder | provenance | formatStep |
29
24
| A.java:32:22:32:29 | source(...) : String | A.java:37:14:37:32 | format(...) | provenance | TaintPreservingCallable |
30
- | A.java:32:22:32:29 | source(...) : String | A.java:37:29:37:31 | bad : String | provenance | |
31
25
| A.java:32:22:32:29 | source(...) : String | A.java:38:14:38:15 | sb : StringBuilder | provenance | formatStep |
32
- | A.java:36:14:36:15 | sb : StringBuilder | A.java:36:14:36:26 | toString(...) | provenance | MaD:6 |
33
- | A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | A.java:37:14:37:32 | format(...) | provenance | MaD:2 |
34
- | A.java:37:29:37:31 | bad : String | A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | provenance | |
35
- | A.java:38:14:38:15 | sb : StringBuilder | A.java:38:14:38:26 | toString(...) | provenance | MaD:6 |
26
+ | A.java:36:14:36:15 | sb : StringBuilder | A.java:36:14:36:26 | toString(...) | provenance | MaD:4 |
27
+ | A.java:38:14:38:15 | sb : StringBuilder | A.java:38:14:38:26 | toString(...) | provenance | MaD:4 |
36
28
| A.java:42:22:42:29 | source(...) : String | A.java:45:24:45:26 | bad : String | provenance | |
37
29
| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:30 | new Formatter(...) : Formatter | provenance | TaintPreservingCallable |
38
30
| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
39
- | A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:28:47:29 | sb : StringBuilder | provenance | |
40
- | A.java:45:24:45:26 | bad : String | A.java:45:14:45:15 | sb [post update] : StringBuilder | provenance | MaD:5 |
41
- | A.java:45:24:45:26 | bad : String | A.java:45:14:45:27 | append(...) | provenance | MaD:5+MaD:4 |
42
- | A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:43 | format(...) : Formatter | provenance | MaD:3 |
31
+ | A.java:45:24:45:26 | bad : String | A.java:45:14:45:15 | sb [post update] : StringBuilder | provenance | MaD:3 |
32
+ | A.java:45:24:45:26 | bad : String | A.java:45:14:45:27 | append(...) | provenance | MaD:3+MaD:2 |
33
+ | A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:43 | format(...) : Formatter | provenance | MaD:1 |
43
34
| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
44
35
| A.java:47:14:47:43 | format(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
45
- | A.java:47:28:47:29 | sb : StringBuilder | A.java:47:14:47:30 | new Formatter(...) : Formatter | provenance | MaD:1 |
46
36
nodes
47
37
| A.java:12:22:12:29 | source(...) : String | semmle.label | source(...) : String |
48
38
| A.java:15:14:15:16 | bad : String | semmle.label | bad : String |
@@ -58,15 +48,11 @@ nodes
58
48
| A.java:19:107:19:109 | bad : String | semmle.label | bad : String |
59
49
| A.java:23:22:23:29 | source(...) : String | semmle.label | source(...) : String |
60
50
| A.java:27:14:27:32 | format(...) | semmle.label | format(...) |
61
- | A.java:27:14:27:32 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String |
62
- | A.java:27:29:27:31 | bad : String | semmle.label | bad : String |
63
51
| A.java:28:14:28:25 | toString(...) | semmle.label | toString(...) |
64
52
| A.java:32:22:32:29 | source(...) : String | semmle.label | source(...) : String |
65
53
| A.java:36:14:36:15 | sb : StringBuilder | semmle.label | sb : StringBuilder |
66
54
| A.java:36:14:36:26 | toString(...) | semmle.label | toString(...) |
67
55
| A.java:37:14:37:32 | format(...) | semmle.label | format(...) |
68
- | A.java:37:14:37:32 | new ..[] { .. } : Object[] [[]] : String | semmle.label | new ..[] { .. } : Object[] [[]] : String |
69
- | A.java:37:29:37:31 | bad : String | semmle.label | bad : String |
70
56
| A.java:38:14:38:15 | sb : StringBuilder | semmle.label | sb : StringBuilder |
71
57
| A.java:38:14:38:26 | toString(...) | semmle.label | toString(...) |
72
58
| A.java:42:22:42:29 | source(...) : String | semmle.label | source(...) : String |
76
62
| A.java:47:14:47:30 | new Formatter(...) : Formatter | semmle.label | new Formatter(...) : Formatter |
77
63
| A.java:47:14:47:43 | format(...) : Formatter | semmle.label | format(...) : Formatter |
78
64
| A.java:47:14:47:54 | toString(...) | semmle.label | toString(...) |
79
- | A.java:47:28:47:29 | sb : StringBuilder | semmle.label | sb : StringBuilder |
80
65
subpaths
81
66
testFailures
0 commit comments