You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No interprocedural dataflow. L4 must add the synthetic parameter vertices, the cross-function param_in/param_out edges, and the semantic (alias/heap-aware) ddg — stitching L3's per-callable PDGs into a System Dependence Graph.
Scope boundary
Interprocedural edges + semantic DDG, over L3's PDGs. Excludes the summary pass (its own issue). The analyzer is a pure graph provider — no slicing/taint. Includes the L4 Neo4j overlay (J_PARAM_IN/J_PARAM_OUT).
Goals
Synthetic vertices in body{}: formal_in{of:param}, formal_out{of:$ret|by-ref}, actual_in{of:argN,parent:callsite-id}, actual_out{of:$ret,parent}
param_in (actual_in→formal_in) and param_out (formal_out→actual_out) at application scope, via WALA SDG + ModRef; Statement.Kind (PARAM_CALLER/CALLEE, *_RET_*, HEAP_*) → vertices/edges
Semantic ddg (prov:["points-to"]) via DataDependenceOptions.FULL, added to (not replacing) L3's ssa edges
Plan (optional)
Design spec: https://github.com/codellm-devkit/codeanalyzer-java/blob/main/docs/design/specs/schema-v2-l3-l4-design.md
Problem
No interprocedural dataflow. L4 must add the synthetic parameter vertices, the cross-function
param_in/param_outedges, and the semantic (alias/heap-aware)ddg— stitching L3's per-callable PDGs into a System Dependence Graph.Scope boundary
Interprocedural edges + semantic DDG, over L3's PDGs. Excludes the
summarypass (its own issue). The analyzer is a pure graph provider — no slicing/taint. Includes the L4 Neo4j overlay (J_PARAM_IN/J_PARAM_OUT).Goals
body{}:formal_in{of:param},formal_out{of:$ret|by-ref},actual_in{of:argN,parent:callsite-id},actual_out{of:$ret,parent}param_in(actual_in→formal_in) andparam_out(formal_out→actual_out) at application scope, via WALASDG+ModRef;Statement.Kind(PARAM_CALLER/CALLEE,*_RET_*,HEAP_*) → vertices/edgesddg(prov:["points-to"]) viaDataDependenceOptions.FULL, added to (not replacing) L3'sssaedges--precision {rta,0-cfa,0-1-cfa}(D6)-a 4;J_PARAM_IN/J_PARAM_OUTNeo4j overlayCaveats and known risks
ddg(acceptable; still monotonic). Higher precision behind--precision.L3 ⊆ L4additive.Definition of done
param_in/param_outendpoints;param_in/param_outarity matches each callable's parameters.prov:["points-to"]ddgedges present and added to the L3prov:["ssa"]edges (theL3 ⊆ L4superset holds).-j Nbyte-identical to-j 1.