{"adapter":"joern","evidence_kind":"joern-reachable-by-flows","input_path":"/Users/dave/.codex/worktrees/9f01/dataflowbench/execution-state/v092/groups/series-01/joern-java-kernel/attempt-01/tmp/dataflowbench-joern-java/dfb-taint-java-mutual-recursive-transform-positive/source","frontend_language":"JAVASRC","source_function":"dfb_source","sink_function":"dfb_sink","state":"analyzed","method_count":10,"source_node_count":1,"sink_node_count":1,"source_nodes":[{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":29,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.run:void()","code":"dfb_source()"}],"sink_nodes":[{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":29,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.run:void()","code":"walkA(dfb_source(), 3)"}],"flow_count":1,"flows":[{"elements":[{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":29,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.run:void()","code":"dfb_source()"},{"label":"METHOD_PARAMETER_IN","file":"MutualRecursiveTransformPositive.java","line":10,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"int value"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":14,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"value + 1"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":14,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"next"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":15,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"next"},{"label":"METHOD_PARAMETER_IN","file":"MutualRecursiveTransformPositive.java","line":19,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"int value"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":23,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"value + 1"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":23,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"next"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":24,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"next"},{"label":"METHOD_PARAMETER_IN","file":"MutualRecursiveTransformPositive.java","line":10,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"int value"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":14,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"value + 1"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":14,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"next"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":15,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"next"},{"label":"METHOD_PARAMETER_IN","file":"MutualRecursiveTransformPositive.java","line":19,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"int value"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":21,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"value"},{"label":"RETURN","file":"MutualRecursiveTransformPositive.java","line":21,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"return value;"},{"label":"METHOD_RETURN","file":"MutualRecursiveTransformPositive.java","line":19,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"RET"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":15,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"walkB(next, depth - 1)"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":15,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"recursive"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":16,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"recursive + 1"},{"label":"RETURN","file":"MutualRecursiveTransformPositive.java","line":16,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"return recursive + 1;"},{"label":"METHOD_RETURN","file":"MutualRecursiveTransformPositive.java","line":10,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"RET"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":24,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"walkA(next, depth - 1)"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":24,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"recursive"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":25,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"recursive + 1"},{"label":"RETURN","file":"MutualRecursiveTransformPositive.java","line":25,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"return recursive + 1;"},{"label":"METHOD_RETURN","file":"MutualRecursiveTransformPositive.java","line":19,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkB:int(int,int)","code":"RET"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":15,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"walkB(next, depth - 1)"},{"label":"IDENTIFIER","file":"MutualRecursiveTransformPositive.java","line":15,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"recursive"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":16,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"recursive + 1"},{"label":"RETURN","file":"MutualRecursiveTransformPositive.java","line":16,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"return recursive + 1;"},{"label":"METHOD_RETURN","file":"MutualRecursiveTransformPositive.java","line":10,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.walkA:int(int,int)","code":"RET"},{"label":"CALL","file":"MutualRecursiveTransformPositive.java","line":29,"method":"dataflowbench.taint.MutualRecursiveTransformPositive.run:void()","code":"walkA(dfb_source(), 3)"}]}]}
