Points-to sets of all variables
[<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()]:<SourceSink: java.lang.String source()>/temp$0 -> [[]:MergedObj{<Merged java.lang.String>}]
[<InterTaintTransfer: void main(java.lang.String[])>[10@L8] invokestatic SourceSink.sink(temp$4)]:<SourceSink: void sink(java.lang.String)>/s -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[11@L9] temp$5 = invokestatic InterTaintTransfer.transfer(t2, s)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/s1 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[11@L9] temp$5 = invokestatic InterTaintTransfer.transfer(t2, s)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/s2 -> [[]:MergedObj{<Merged java.lang.String>}]
[<InterTaintTransfer: void main(java.lang.String[])>[11@L9] temp$5 = invokestatic InterTaintTransfer.transfer(t2, s)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/temp$0 -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[12@L9] invokestatic SourceSink.sink(temp$5)]:<SourceSink: void sink(java.lang.String)>/s -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[13@L10] temp$6 = invokestatic InterTaintTransfer.transfer(s, t3)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/s1 -> [[]:MergedObj{<Merged java.lang.String>}]
[<InterTaintTransfer: void main(java.lang.String[])>[13@L10] temp$6 = invokestatic InterTaintTransfer.transfer(s, t3)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/s2 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[13@L10] temp$6 = invokestatic InterTaintTransfer.transfer(s, t3)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/temp$0 -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[14@L10] invokestatic SourceSink.sink(temp$6)]:<SourceSink: void sink(java.lang.String)>/s -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()]:<SourceSink: java.lang.String source()>/temp$0 -> [[]:MergedObj{<Merged java.lang.String>}]
[<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()]:<SourceSink: java.lang.String source()>/temp$0 -> [[]:MergedObj{<Merged java.lang.String>}]
[<InterTaintTransfer: void main(java.lang.String[])>[9@L8] temp$4 = invokestatic InterTaintTransfer.transfer(t1, s)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/s1 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[<InterTaintTransfer: void main(java.lang.String[])>[9@L8] temp$4 = invokestatic InterTaintTransfer.transfer(t1, s)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/s2 -> [[]:MergedObj{<Merged java.lang.String>}]
[<InterTaintTransfer: void main(java.lang.String[])>[9@L8] temp$4 = invokestatic InterTaintTransfer.transfer(t1, s)]:<InterTaintTransfer: java.lang.String transfer(java.lang.String,java.lang.String)>/temp$0 -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/args -> [[]:EntryPointObj{alloc=MethodParam{<InterTaintTransfer: void main(java.lang.String[])>/0},type=java.lang.String[] in <InterTaintTransfer: void main(java.lang.String[])>}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/s -> [[]:MergedObj{<Merged java.lang.String>}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/t1 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/t2 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/t3 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/temp$0 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/temp$1 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/temp$2 -> [[]:MergedObj{<Merged java.lang.String>}, []:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/temp$3 -> [[]:MergedObj{<Merged java.lang.String>}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/temp$4 -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/temp$5 -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()/result,type=java.lang.String}]
[]:<InterTaintTransfer: void main(java.lang.String[])>/temp$6 -> [[]:TaintObj{alloc=<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()/result,type=java.lang.String}]

Points-to sets of all static fields

Points-to sets of all instance fields

Points-to sets of all array indexes
[]:EntryPointObj{alloc=MethodParam{<InterTaintTransfer: void main(java.lang.String[])>/0},type=java.lang.String[] in <InterTaintTransfer: void main(java.lang.String[])>}[*] -> [[]:EntryPointObj{alloc=MethodParam{<InterTaintTransfer: void main(java.lang.String[])>/0}[*],type=java.lang.String in <InterTaintTransfer: void main(java.lang.String[])>}]

Detected 3 taint flow(s):
TaintFlow{<InterTaintTransfer: void main(java.lang.String[])>[0@L4] temp$0 = invokestatic SourceSink.source()/result -> <InterTaintTransfer: void main(java.lang.String[])>[10@L8] invokestatic SourceSink.sink(temp$4)/0}
TaintFlow{<InterTaintTransfer: void main(java.lang.String[])>[2@L5] temp$1 = invokestatic SourceSink.source()/result -> <InterTaintTransfer: void main(java.lang.String[])>[12@L9] invokestatic SourceSink.sink(temp$5)/0}
TaintFlow{<InterTaintTransfer: void main(java.lang.String[])>[4@L6] temp$2 = invokestatic SourceSink.source()/result -> <InterTaintTransfer: void main(java.lang.String[])>[14@L10] invokestatic SourceSink.sink(temp$6)/0}

