11
Files
3826
Nodes
10515
Edges
382
Impact targets
1272
Data values
61
State regions
0
Defects
112
Motifs
MVP pipeline
Repository → CISG → Data/State Closure → Impact Engine → review scope
v0.6 technical view preserves one-hop direct evidence from bounded derived impact. Derived impact uses resolved local-call reachability and shared-state coupling; it is review scope, not a claim that every reachable entity will change at runtime.
Metrics
{
"loaded_files": 11,
"nodes": 3826,
"edges": 10515,
"node_types": {
"file": 11,
"function": 93,
"class": 8,
"method": 70,
"boundary_module": 19,
"control": 449,
"data_value": 1272,
"state_region": 61,
"module_binding": 14,
"data_sink": 180,
"boundary_call": 382,
"data_phi": 574,
"data_use": 383,
"data_undefined": 280,
"exception_handler": 12,
"effect": 2,
"exception_event": 9,
"boundary_exception": 7
},
"edge_types": {
"contains": 171,
"imports": 74,
"controls": 449,
"defines": 1846,
"reads_state": 204,
"reads_binding": 27,
"flows_to": 2382,
"guards": 511,
"contains_data": 568,
"calls": 2602,
"returns_value": 355,
"phi_input": 1148,
"contains_exception_handler": 12,
"writes_state": 62,
"aliases_at_definition": 40,
"effect": 38,
"exception_value": 8,
"raises": 9,
"exception_flow": 9
},
"resolved_local_calls": 528,
"boundary_calls": 2074,
"findings_by_category": {
"anomaly": 12,
"hotspot": 110
},
"findings_by_severity": {
"info": 122
},
"motif_instances": 112,
"motif_clusters": 27,
"data_values": 1272,
"phi_nodes": 574,
"data_edges": 6290,
"alias_edges": 40,
"state_regions": 61,
"state_reads": 204,
"state_writes": 62,
"module_binding_reads": 27,
"exception_handlers": 12,
"explicit_raises": 9,
"unresolved_local_uses": 0,
"warnings": 0
}Highest review breadth
| Kind | Target | Review breadth | Path |
|---|---|---|---|
| function | 472 | cli.py | |
| function | 220 | impact.py | |
| function | 212 | impact.py | |
| function | 192 | cli.py | |
| function | 189 | semantic_diff.py | |
| function | 181 | impact.py | |
| function | 170 | product_ui.py | |
| function | 169 | report.py | |
| function | 161 | semantic_diff.py | |
| function | 155 | pr_review.py | |
| function | 151 | impact.py | |
| function | 145 | product_ui.py | |
| function | 144 | report.py | |
| function | 144 | pr_review.py | |
| function | 141 | analyzer.py | |
| function | 136 | product_ui.py | |
| function | 135 | report.py | |
| function | 122 | product_ui.py | |
| function | 107 | pr_review.py | |
| function | 101 | analyzer.py |
Warnings
- None
Impact Engine
Direct = one-hop graph evidence. Derived = bounded resolved call paths + shared-state coupling. No single impact score is treated as truth.
Choose a target.
Code-Induced Semantic Graph
Overview shows 181 of 182 file/class/function entities. Full graph is in cisg.json / cisg.graphml.
Node evidence
Click a node.
SSA-like data flow
Local data footprint feeds Impact Engine but is not transitive across function boundaries.
| Relation | Source | Target | Evidence | Status |
|---|---|---|---|---|
| flows_to | callee#0 | low#1 | analyzer.py:31 | observed |
| flows_to | low#1 | tail#1 | analyzer.py:32 | observed |
| guards | tail#1 | branch | analyzer.py:33 | observed |
| guards | low#1 | branch | analyzer.py:35 | observed |
| guards | tail#1 | branch | analyzer.py:35 | observed |
| guards | low#1 | branch | analyzer.py:37 | observed |
| guards | tail#1 | branch | analyzer.py:37 | observed |
| guards | low#1 | branch | analyzer.py:39 | observed |
| guards | tail#1 | branch | analyzer.py:39 | observed |
| guards | low#1 | branch | analyzer.py:41 | observed |
| guards | low#1 | branch | analyzer.py:43 | observed |
| guards | tail#1 | branch | analyzer.py:43 | observed |
| flows_to | parts#0 | raw#1 | analyzer.py:59 | observed |
| returns_value | prefix#0 | return@60 | analyzer.py:60 | observed |
| returns_value | raw#1 | return@60 | analyzer.py:60 | observed |
| returns_value | text#0 | return@64 | analyzer.py:64 | observed |
| flows_to | path#0 | rel#1 | analyzer.py:68 | observed |
| flows_to | root#0 | rel#1 | analyzer.py:68 | observed |
| flows_to | rel#1 | parts#1 | analyzer.py:69 | observed |
| guards | parts#1 | branch | analyzer.py:70 | observed |
| flows_to | parts#1 | parts#2 | analyzer.py:71 | observed |
| phi_input | parts#2 | parts#3 | analyzer.py:70 | strongly_inferred |
| phi_input | parts#1 | parts#3 | analyzer.py:70 | strongly_inferred |
| returns_value | parts#3 | return@72 | analyzer.py:72 | observed |
| guards | n#0 | branch | analyzer.py:76 | observed |
| returns_value | n#0 | return@77 | analyzer.py:77 | observed |
| guards | n#0 | branch | analyzer.py:78 | observed |
| flows_to | n#0 | base#1 | analyzer.py:79 | observed |
| returns_value | base#1 | return@80 | analyzer.py:80 | observed |
| returns_value | n#0 | return@80 | analyzer.py:80 | observed |
| guards | n#0 | branch | analyzer.py:81 | observed |
| returns_value | n#0 | return@82 | analyzer.py:82 | observed |
| guards | n#0 | branch | analyzer.py:83 | observed |
| returns_value | n#0 | return@84 | analyzer.py:84 | observed |
| returns_value | n#0 | return@85 | analyzer.py:85 | observed |
| guards | level#0 | branch | analyzer.py:90 | observed |
| returns_value | module#0 | return@91 | analyzer.py:91 | observed |
| flows_to | current_module#0 | pkg#1 | analyzer.py:93 | observed |
| flows_to | level#0 | remove#1 | analyzer.py:94 | observed |
| guards | remove#1 | branch | analyzer.py:95 | observed |
| flows_to | remove#1 | pkg#2 | analyzer.py:96 | observed |
| flows_to | pkg#1 | pkg#2 | analyzer.py:96 | observed |
| phi_input | pkg#2 | pkg#3 | analyzer.py:95 | strongly_inferred |
| phi_input | pkg#1 | pkg#3 | analyzer.py:95 | strongly_inferred |
| guards | module#0 | branch | analyzer.py:97 | observed |
| flows_to | pkg#3 | expr@98 | analyzer.py:98 | observed |
| flows_to | module#0 | expr@98 | analyzer.py:98 | observed |
| returns_value | pkg#3 | return@99 | analyzer.py:99 | observed |
| guards | root#0 | for_loop | analyzer.py:104 | observed |
| flows_to | root#0 | p#1 | analyzer.py:104 | observed |
| guards | p#1 | branch | analyzer.py:105 | observed |
| guards | root#0 | branch | analyzer.py:105 | observed |
| flows_to | p#1 | size#1 | analyzer.py:108 | observed |
| guards | size#1 | branch | analyzer.py:111 | observed |
| guards | max_bytes#0 | branch | analyzer.py:111 | observed |
| flows_to | p#1 | expr@112 | analyzer.py:112 | observed |
| flows_to | size#1 | expr@112 | analyzer.py:112 | observed |
| flows_to | count#1 | count#2 | analyzer.py:114 | observed |
| guards | count#2 | branch | analyzer.py:115 | observed |
| guards | max_files#0 | branch | analyzer.py:115 | observed |
| flows_to | p#1 | expr@116 | analyzer.py:116 | observed |
| flows_to | p#1 | expr@118 | analyzer.py:118 | observed |
| phi_input | count#1 | count#3 | analyzer.py:104 | strongly_inferred |
| phi_input | count#2 | count#3 | analyzer.py:104 | strongly_inferred |
| phi_input | p#1 | p#2 | analyzer.py:104 | strongly_inferred |
| phi_input | p:undefined | p#2 | analyzer.py:104 | unresolved |
| phi_input | size#1 | size#2 | analyzer.py:104 | strongly_inferred |
| phi_input | size:undefined | size#2 | analyzer.py:104 | unresolved |
| flows_to | self#0 | expr@133 | analyzer.py:133 | observed |
| flows_to | kind#0 | expr@133 | analyzer.py:133 | observed |
| flows_to | n#0 | expr@133 | analyzer.py:133 | observed |
| flows_to | self#0 | expr@134 | analyzer.py:134 | observed |
| flows_to | n#0 | expr@134 | analyzer.py:134 | observed |
| flows_to | self#0 | expr@136 | analyzer.py:136 | observed |
| flows_to | n#0 | expr@136 | analyzer.py:136 | observed |
| flows_to | self#0 | expr@137 | analyzer.py:137 | observed |
| flows_to | n#0 | expr@137 | analyzer.py:137 | observed |
| flows_to | self#0 | expr@138 | analyzer.py:138 | observed |
| flows_to | n#0 | expr@138 | analyzer.py:138 | observed |
| flows_to | self#0 | expr@139 | analyzer.py:139 | observed |
| flows_to | n#0 | expr@139 | analyzer.py:139 | observed |
| flows_to | self#0 | expr@140 | analyzer.py:140 | observed |
| flows_to | n#0 | expr@140 | analyzer.py:140 | observed |
| flows_to | self#0 | expr@141 | analyzer.py:141 | observed |
| flows_to | n#0 | expr@141 | analyzer.py:141 | observed |
| flows_to | self#0 | expr@142 | analyzer.py:142 | observed |
| flows_to | n#0 | expr@142 | analyzer.py:142 | observed |
| flows_to | self#0 | expr@145 | analyzer.py:145 | observed |
| flows_to | n#0 | expr@145 | analyzer.py:145 | observed |
| guards | n#0 | for_loop | analyzer.py:146 | observed |
| flows_to | n#0 | h#1 | analyzer.py:146 | observed |
| guards | h#1 | branch | analyzer.py:147 | observed |
| flows_to | self#0 | expr@148 | analyzer.py:148 | observed |
| flows_to | h#1 | expr@148 | analyzer.py:148 | observed |
| guards | h#1 | branch | analyzer.py:150 | observed |
| flows_to | self#0 | expr@151 | analyzer.py:151 | observed |
| flows_to | h#1 | expr@151 | analyzer.py:151 | observed |
| phi_input | h#1 | h#2 | analyzer.py:146 | strongly_inferred |
| phi_input | h:undefined | h#2 | analyzer.py:146 | unresolved |
| flows_to | self#0 | expr@153 | analyzer.py:153 | observed |
| flows_to | n#0 | expr@153 | analyzer.py:153 | observed |
| flows_to | n#0 | callee#1 | analyzer.py:156 | observed |
| flows_to | self#0 | expr@157 | analyzer.py:157 | observed |
| flows_to | callee#1 | expr@157 | analyzer.py:157 | observed |
| flows_to | n#0 | expr@157 | analyzer.py:157 | observed |
| flows_to | callee#1 | effect_type#1 | analyzer.py:158 | observed |
| guards | effect_type#1 | branch | analyzer.py:159 | observed |
| flows_to | self#0 | expr@160 | analyzer.py:160 | observed |
| flows_to | effect_type#1 | expr@160 | analyzer.py:160 | observed |
| flows_to | callee#1 | expr@160 | analyzer.py:160 | observed |
| flows_to | n#0 | expr@160 | analyzer.py:160 | observed |
| flows_to | self#0 | expr@161 | analyzer.py:161 | observed |
| flows_to | n#0 | expr@161 | analyzer.py:161 | observed |
| flows_to | n#0 | text#1 | analyzer.py:164 | observed |
| guards | n#0 | branch | analyzer.py:165 | observed |
| flows_to | self#0 | expr@166 | analyzer.py:166 | observed |
| flows_to | text#1 | expr@166 | analyzer.py:166 | observed |
| flows_to | n#0 | expr@166 | analyzer.py:166 | observed |
| flows_to | self#0 | expr@167 | analyzer.py:167 | observed |
| flows_to | n#0 | expr@167 | analyzer.py:167 | observed |
| guards | n#0 | for_loop | analyzer.py:170 | observed |
| flows_to | n#0 | target#1 | analyzer.py:170 | observed |
| guards | target#1 | branch | analyzer.py:171 | observed |
| flows_to | self#0 | expr@172 | analyzer.py:172 | observed |
| flows_to | target#1 | expr@172 | analyzer.py:172 | observed |
| flows_to | n#0 | expr@172 | analyzer.py:172 | observed |
| phi_input | target#1 | target#2 | analyzer.py:170 | strongly_inferred |
| phi_input | target:undefined | target#2 | analyzer.py:170 | unresolved |
| flows_to | self#0 | expr@173 | analyzer.py:173 | observed |
| flows_to | n#0 | expr@173 | analyzer.py:173 | observed |
| guards | n#0 | branch | analyzer.py:176 | observed |
| flows_to | self#0 | expr@177 | analyzer.py:177 | observed |
| flows_to | n#0 | expr@177 | analyzer.py:177 | observed |
| flows_to | self#0 | expr@178 | analyzer.py:178 | observed |
| flows_to | n#0 | expr@178 | analyzer.py:178 | observed |
| guards | n#0 | branch | analyzer.py:181 | observed |
| flows_to | self#0 | expr@182 | analyzer.py:182 | observed |
| flows_to | n#0 | expr@182 | analyzer.py:182 | observed |
| flows_to | self#0 | expr@183 | analyzer.py:183 | observed |
| flows_to | n#0 | expr@183 | analyzer.py:183 | observed |
| guards | statements#0 | for_loop | analyzer.py:189 | observed |
| flows_to | statements#0 | st#1 | analyzer.py:189 | observed |
| aliases_at_definition | statements#0 | st#1 | analyzer.py:189 | observed |
| guards | terminated#1 | branch | analyzer.py:190 | observed |
| flows_to | issues#1 | expr@191 | analyzer.py:191 | observed |
| flows_to | file_rel#0 | expr@191 | analyzer.py:192 | observed |
| flows_to | owner#0 | expr@191 | analyzer.py:193 | observed |
| flows_to | st#1 | expr@191 | analyzer.py:193 | observed |
| phi_input | terminated#2 | terminated#3 | analyzer.py:190 | strongly_inferred |
| phi_input | terminated#1 | terminated#3 | analyzer.py:190 | strongly_inferred |
| guards | st#1 | branch | analyzer.py:197 | observed |
| phi_input | terminated#3 | terminated#5 | analyzer.py:197 | strongly_inferred |
| phi_input | terminated#4 | terminated#5 | analyzer.py:197 | strongly_inferred |
| flows_to | st#1 | child#1 | analyzer.py:200 | observed |
| flows_to | child_name#1 | child#1 | analyzer.py:200 | observed |
| guards | child#1 | branch | analyzer.py:201 | observed |
| flows_to | issues#1 | expr@202 | analyzer.py:202 | observed |
| flows_to | child#1 | expr@202 | analyzer.py:202 | observed |
| flows_to | file_rel#0 | expr@202 | analyzer.py:202 | observed |
| flows_to | owner#0 | expr@202 | analyzer.py:202 | observed |
| phi_input | child#1 | child#2 | analyzer.py:199 | strongly_inferred |
| phi_input | child:undefined | child#2 | analyzer.py:199 | unresolved |
| phi_input | child_name#1 | child_name#2 | analyzer.py:199 | strongly_inferred |
| phi_input | child_name:undefined | child_name#2 | analyzer.py:199 | unresolved |
| guards | st#1 | branch | analyzer.py:203 | observed |
| guards | st#1 | for_loop | analyzer.py:204 | observed |
| flows_to | st#1 | h#1 | analyzer.py:204 | observed |
| flows_to | issues#1 | expr@205 | analyzer.py:205 | observed |
| flows_to | h#1 | expr@205 | analyzer.py:205 | observed |
| flows_to | file_rel#0 | expr@205 | analyzer.py:205 | observed |
| flows_to | owner#0 | expr@205 | analyzer.py:205 | observed |
| phi_input | h#1 | h#2 | analyzer.py:204 | strongly_inferred |
| phi_input | h:undefined | h#2 | analyzer.py:204 | unresolved |
| phi_input | h#2 | h#3 | analyzer.py:203 | strongly_inferred |
| phi_input | h:undefined | h#3 | analyzer.py:203 | unresolved |
| phi_input | child#2 | child#3 | analyzer.py:189 | strongly_inferred |
| phi_input | child:undefined | child#3 | analyzer.py:189 | unresolved |
| phi_input | child_name#2 | child_name#3 | analyzer.py:189 | strongly_inferred |
| phi_input | child_name:undefined | child_name#3 | analyzer.py:189 | unresolved |
| phi_input | h#3 | h#4 | analyzer.py:189 | strongly_inferred |
| phi_input | h:undefined | h#4 | analyzer.py:189 | unresolved |
| phi_input | st#1 | st#2 | analyzer.py:189 | strongly_inferred |
| phi_input | st:undefined | st#2 | analyzer.py:189 | unresolved |
| phi_input | terminated#5 | terminated#6 | analyzer.py:189 | strongly_inferred |
| phi_input | terminated#1 | terminated#6 | analyzer.py:189 | strongly_inferred |
| returns_value | issues#1 | return@206 | analyzer.py:206 | observed |
| flows_to | fn#0 | clone#1 | analyzer.py:212 | observed |
| returns_value | fn#0 | return@214 | analyzer.py:214 | observed |
| flows_to | clone#1 | all_args#1 | analyzer.py:216 | observed |
| guards | all_args#1 | for_loop | analyzer.py:217 | observed |
| flows_to | all_args#1 | arg#1 | analyzer.py:217 | observed |
| aliases_at_definition | all_args#1 | arg#1 | analyzer.py:217 | observed |
| phi_input | arg#1 | arg#2 | analyzer.py:217 | strongly_inferred |
| phi_input | arg:undefined | arg#2 | analyzer.py:217 | unresolved |
| guards | clone#1 | branch | analyzer.py:219 | observed |
| guards | clone#1 | branch | analyzer.py:221 | observed |
| flows_to | Rename#1 | clone#2 | analyzer.py:228 | observed |
| flows_to | clone#1 | clone#2 | analyzer.py:228 | observed |
| flows_to | clone#2 | expr@229 | analyzer.py:229 | observed |
| returns_value | clone#2 | return@230 | analyzer.py:230 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:235 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:236 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:237 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:238 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:239 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:240 | observed |
| flows_to | payload#1 | raw#1 | analyzer.py:242 | observed |
| returns_value | raw#1 | return@243 | analyzer.py:243 | observed |
| flows_to | feature#0 | ctr#1 | analyzer.py:248 | observed |
| flows_to | ctr#1 | payload#1 | analyzer.py:250 | observed |
| flows_to | ctr#1 | payload#1 | analyzer.py:251 | observed |
| flows_to | ctr#1 | payload#1 | analyzer.py:252 | observed |
| flows_to | ctr#1 | payload#1 | analyzer.py:253 | observed |
| flows_to | bucket#1 | payload#1 | analyzer.py:254 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:254 | observed |
| flows_to | bucket#1 | payload#1 | analyzer.py:255 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:255 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:256 | observed |
| flows_to | feature#0 | payload#1 | analyzer.py:257 | observed |
| flows_to | payload#1 | raw#1 | analyzer.py:259 | observed |
| returns_value | raw#1 | return@260 | analyzer.py:260 | observed |
| flows_to | feature#0 | controls#1 | analyzer.py:264 | observed |
| flows_to | feature#0 | effects#1 | analyzer.py:265 | observed |
| guards | controls#1 | branch | analyzer.py:269 | observed |
| flows_to | add#1 | expr@270 | analyzer.py:270 | observed |
| flows_to | feature#0 | shared_state#1 | analyzer.py:271 | observed |
| guards | shared_state#1 | branch | analyzer.py:272 | observed |
| flows_to | add#1 | expr@273 | analyzer.py:273 | observed |
| guards | controls#1 | branch | analyzer.py:274 | observed |
| flows_to | add#1 | expr@275 | analyzer.py:275 | observed |
| guards | feature#0 | branch | analyzer.py:276 | observed |
| flows_to | add#1 | expr@277 | analyzer.py:277 | observed |
| guards | feature#0 | branch | analyzer.py:278 | observed |
| flows_to | add#1 | expr@279 | analyzer.py:279 | observed |
| guards | effects#1 | branch | analyzer.py:280 | observed |
| guards | feature#0 | branch | analyzer.py:280 | observed |
| flows_to | add#1 | expr@281 | analyzer.py:281 | observed |
| guards | effects#1 | branch | analyzer.py:282 | observed |
| guards | controls#1 | branch | analyzer.py:282 | observed |
| flows_to | add#1 | expr@283 | analyzer.py:283 | observed |
| returns_value | motifs#1 | return@284 | analyzer.py:284 | observed |
| flows_to | root#0 | root#1 | analyzer.py:288 | observed |
| guards | root#1 | for_loop | analyzer.py:303 | observed |
| guards | max_files#0 | for_loop | analyzer.py:303 | observed |
| guards | max_bytes#0 | for_loop | analyzer.py:303 | observed |
| flows_to | root#1 | path#1 | analyzer.py:303 | observed |
| flows_to | max_files#0 | path#1 | analyzer.py:303 | observed |
| flows_to | max_bytes#0 | path#1 | analyzer.py:303 | observed |
| flows_to | root#1 | skip_reason#1 | analyzer.py:303 | observed |
| flows_to | max_files#0 | skip_reason#1 | analyzer.py:303 | observed |
| flows_to | max_bytes#0 | skip_reason#1 | analyzer.py:303 | observed |
| flows_to | path#1 | rel#1 | analyzer.py:304 | observed |
| flows_to | root#1 | rel#1 | analyzer.py:304 | observed |
| guards | skip_reason#1 | branch | analyzer.py:305 | observed |
| flows_to | warnings#1 | expr@306 | analyzer.py:306 | observed |
| flows_to | rel#1 | expr@306 | analyzer.py:306 | observed |
| flows_to | skip_reason#1 | expr@306 | analyzer.py:306 | observed |
| flows_to | path#1 | text#1 | analyzer.py:309 | observed |
| flows_to | warnings#1 | expr@311 | analyzer.py:311 | observed |
| flows_to | rel#1 | expr@311 | analyzer.py:311 | observed |
| flows_to | text#1 | h#1 | analyzer.py:313 | observed |
| flows_to | source_integrity#1 | expr@314 | analyzer.py:314 | observed |
| flows_to | rel#1 | expr@314 | analyzer.py:314 | observed |
| flows_to | h#1 | expr@314 | analyzer.py:314 | observed |
| flows_to | text#1 | expr@314 | analyzer.py:314 | observed |
| flows_to | root#1 | mod#1 | analyzer.py:315 | observed |
| flows_to | path#1 | mod#1 | analyzer.py:315 | observed |
| guards | mod#1 | branch | analyzer.py:316 | observed |
| flows_to | path#1 | mod#2 | analyzer.py:317 | observed |
| phi_input | mod#2 | mod#3 | analyzer.py:316 | strongly_inferred |
| phi_input | mod#1 | mod#3 | analyzer.py:316 | strongly_inferred |
| flows_to | text#1 | tree#1 | analyzer.py:320 | observed |
| flows_to | rel#1 | tree#1 | analyzer.py:320 | observed |
| flows_to | findings#1 | expr@322 | analyzer.py:322 | observed |
| flows_to | rel#1 | expr@322 | analyzer.py:322 | observed |
| flows_to | e#1 | expr@322 | analyzer.py:323 | observed |
| guards | tree#1 | for_loop | analyzer.py:326 | observed |
| flows_to | tree#1 | top#1 | analyzer.py:326 | observed |
| guards | top#1 | branch | analyzer.py:327 | observed |
| flows_to | top#1 | targets#1 | analyzer.py:328 | observed |
| guards | targets#1 | for_loop | analyzer.py:329 | observed |
| flows_to | targets#1 | target#1 | analyzer.py:329 | observed |
| aliases_at_definition | targets#1 | target#1 | analyzer.py:329 | observed |
| guards | target#1 | branch | analyzer.py:330 | observed |
| flows_to | module_globals#1 | expr@331 | analyzer.py:331 | observed |
| flows_to | target#1 | expr@331 | analyzer.py:331 | observed |
| guards | target#1 | branch | analyzer.py:332 | observed |
| guards | target#1 | for_loop | analyzer.py:333 | observed |
| flows_to | target#1 | elt#1 | analyzer.py:333 | observed |
| guards | elt#1 | branch | analyzer.py:334 | observed |
| flows_to | module_globals#1 | expr@335 | analyzer.py:335 | observed |
| flows_to | elt#1 | expr@335 | analyzer.py:335 | observed |
| phi_input | elt#1 | elt#2 | analyzer.py:333 | strongly_inferred |
| phi_input | elt:undefined | elt#2 | analyzer.py:333 | unresolved |
| phi_input | elt#2 | elt#3 | analyzer.py:332 | strongly_inferred |
| phi_input | elt:undefined | elt#3 | analyzer.py:332 | unresolved |
| phi_input | elt#3 | elt#4 | analyzer.py:330 | strongly_inferred |
| phi_input | elt:undefined | elt#4 | analyzer.py:330 | unresolved |
| phi_input | elt#4 | elt#5 | analyzer.py:329 | strongly_inferred |
| phi_input | elt:undefined | elt#5 | analyzer.py:329 | unresolved |
| phi_input | target#1 | target#2 | analyzer.py:329 | strongly_inferred |
| phi_input | target:undefined | target#2 | analyzer.py:329 | unresolved |
| phi_input | elt#5 | elt#6 | analyzer.py:327 | strongly_inferred |
| phi_input | elt:undefined | elt#6 | analyzer.py:327 | unresolved |
| phi_input | target#2 | target#3 | analyzer.py:327 | strongly_inferred |
| phi_input | target:undefined | target#3 | analyzer.py:327 | unresolved |
| phi_input | targets#1 | targets#2 | analyzer.py:327 | strongly_inferred |
| phi_input | targets:undefined | targets#2 | analyzer.py:327 | unresolved |
| phi_input | elt#6 | elt#7 | analyzer.py:326 | strongly_inferred |
| phi_input | elt:undefined | elt#7 | analyzer.py:326 | unresolved |
| phi_input | target#3 | target#4 | analyzer.py:326 | strongly_inferred |
| phi_input | target:undefined | target#4 | analyzer.py:326 | unresolved |
| phi_input | targets#2 | targets#3 | analyzer.py:326 | strongly_inferred |
| phi_input | targets:undefined | targets#3 | analyzer.py:326 | unresolved |
| phi_input | top#1 | top#2 | analyzer.py:326 | strongly_inferred |
| phi_input | top:undefined | top#2 | analyzer.py:326 | unresolved |
| flows_to | rel#1 | fid#1 | analyzer.py:337 | observed |
| guards | tree#1 | for_loop | analyzer.py:343 | observed |
| flows_to | tree#1 | n#1 | analyzer.py:343 | observed |
| guards | n#1 | branch | analyzer.py:344 | observed |
| guards | n#1 | for_loop | analyzer.py:345 | observed |
| flows_to | n#1 | alias#1 | analyzer.py:345 | observed |
| phi_input | alias#1 | alias#2 | analyzer.py:345 | strongly_inferred |
| phi_input | alias:undefined | alias#2 | analyzer.py:345 | unresolved |
| guards | n#1 | branch | analyzer.py:347 | observed |
| flows_to | mod#3 | target_mod#1 | analyzer.py:348 | observed |
| flows_to | n#1 | target_mod#1 | analyzer.py:348 | observed |
| guards | n#1 | for_loop | analyzer.py:349 | observed |
| flows_to | n#1 | alias#3 | analyzer.py:349 | observed |
| phi_input | alias#3 | alias#4 | analyzer.py:349 | strongly_inferred |
| phi_input | alias:undefined | alias#4 | analyzer.py:349 | unresolved |
| phi_input | alias#4 | alias#5 | analyzer.py:347 | strongly_inferred |
| phi_input | alias:undefined | alias#5 | analyzer.py:347 | unresolved |
| phi_input | target_mod#1 | target_mod#2 | analyzer.py:347 | strongly_inferred |
| phi_input | target_mod:undefined | target_mod#2 | analyzer.py:347 | unresolved |
| phi_input | alias#5 | alias#6 | analyzer.py:344 | strongly_inferred |
| phi_input | alias#2 | alias#6 | analyzer.py:344 | strongly_inferred |
| phi_input | target_mod#2 | target_mod#3 | analyzer.py:344 | strongly_inferred |
| phi_input | target_mod:undefined | target_mod#3 | analyzer.py:344 | unresolved |
| phi_input | alias#6 | alias#7 | analyzer.py:343 | strongly_inferred |
| phi_input | alias:undefined | alias#7 | analyzer.py:343 | unresolved |
| phi_input | n#1 | n#2 | analyzer.py:343 | strongly_inferred |
| phi_input | n:undefined | n#2 | analyzer.py:343 | unresolved |
| phi_input | target_mod#3 | target_mod#4 | analyzer.py:343 | strongly_inferred |
| phi_input | target_mod:undefined | target_mod#4 | analyzer.py:343 | unresolved |
| guards | tree#1 | for_loop | analyzer.py:353 | observed |
| flows_to | tree#1 | n#3 | analyzer.py:353 | observed |
| guards | n#3 | branch | analyzer.py:354 | observed |
| flows_to | rel#1 | sid#1 | analyzer.py:355 | observed |
| flows_to | n#3 | sid#1 | analyzer.py:355 | observed |
| flows_to | simple_defs#1 | expr@359 | analyzer.py:359 | observed |
| flows_to | n#3 | expr@359 | analyzer.py:359 | observed |
| flows_to | sid#1 | expr@359 | analyzer.py:359 | observed |
| flows_to | edges#1 | expr@360 | analyzer.py:360 | observed |
| flows_to | fid#1 | expr@360 | analyzer.py:360 | observed |
| flows_to | sid#1 | expr@360 | analyzer.py:360 | observed |
| flows_to | rel#1 | expr@360 | analyzer.py:362 | observed |
| flows_to | n#3 | expr@360 | analyzer.py:362 | observed |
| flows_to | h#1 | expr@360 | analyzer.py:362 | observed |
| flows_to | shapes#1 | expr@363 | analyzer.py:363 | observed |
| flows_to | n#3 | expr@363 | analyzer.py:363 | observed |
| flows_to | rel#1 | expr@363 | analyzer.py:363 | observed |
| flows_to | functions#1 | expr@364 | analyzer.py:364 | observed |
| flows_to | sid#1 | expr@364 | analyzer.py:364 | observed |
| flows_to | n#3 | expr@364 | analyzer.py:364 | observed |
| flows_to | rel#1 | expr@364 | analyzer.py:364 | observed |
| flows_to | mod#3 | expr@364 | analyzer.py:364 | observed |
| guards | n#3 | branch | analyzer.py:365 | observed |
| flows_to | rel#1 | cid#1 | analyzer.py:366 | observed |
| flows_to | n#3 | cid#1 | analyzer.py:366 | observed |
| flows_to | simple_defs#1 | expr@370 | analyzer.py:370 | observed |
| flows_to | n#3 | expr@370 | analyzer.py:370 | observed |
| flows_to | cid#1 | expr@370 | analyzer.py:370 | observed |
| flows_to | edges#1 | expr@371 | analyzer.py:371 | observed |
| flows_to | fid#1 | expr@371 | analyzer.py:371 | observed |
| flows_to | cid#1 | expr@371 | analyzer.py:371 | observed |
| flows_to | rel#1 | expr@371 | analyzer.py:373 | observed |
| flows_to | n#3 | expr@371 | analyzer.py:373 | observed |
| flows_to | h#1 | expr@371 | analyzer.py:373 | observed |
| guards | n#3 | for_loop | analyzer.py:374 | observed |
| flows_to | n#3 | item#1 | analyzer.py:374 | observed |
| guards | item#1 | branch | analyzer.py:375 | observed |
| flows_to | n#3 | qname#1 | analyzer.py:376 | observed |
| flows_to | item#1 | qname#1 | analyzer.py:376 | observed |
| flows_to | rel#1 | mid#1 | analyzer.py:377 | observed |
| flows_to | qname#1 | mid#1 | analyzer.py:377 | observed |
| flows_to | simple_defs#1 | expr@381 | analyzer.py:381 | observed |
| flows_to | item#1 | expr@381 | analyzer.py:381 | observed |
| flows_to | mid#1 | expr@381 | analyzer.py:381 | observed |
| flows_to | edges#1 | expr@382 | analyzer.py:382 | observed |
| flows_to | cid#1 | expr@382 | analyzer.py:382 | observed |
| flows_to | mid#1 | expr@382 | analyzer.py:382 | observed |
| flows_to | rel#1 | expr@382 | analyzer.py:384 | observed |
| flows_to | item#1 | expr@382 | analyzer.py:384 | observed |
| flows_to | h#1 | expr@382 | analyzer.py:384 | observed |
| flows_to | shapes#1 | expr@385 | analyzer.py:385 | observed |
| flows_to | item#1 | expr@385 | analyzer.py:385 | observed |
| flows_to | rel#1 | expr@385 | analyzer.py:385 | observed |
| flows_to | qname#1 | expr@385 | analyzer.py:385 | observed |
| flows_to | functions#1 | expr@386 | analyzer.py:386 | observed |
| flows_to | mid#1 | expr@386 | analyzer.py:386 | observed |
| flows_to | item#1 | expr@386 | analyzer.py:386 | observed |
| flows_to | qname#1 | expr@386 | analyzer.py:386 | observed |
| flows_to | n#3 | expr@386 | analyzer.py:386 | observed |
| flows_to | rel#1 | expr@386 | analyzer.py:386 | observed |
| flows_to | mod#3 | expr@386 | analyzer.py:386 | observed |
| phi_input | mid#1 | mid#2 | analyzer.py:375 | strongly_inferred |
| phi_input | mid:undefined | mid#2 | analyzer.py:375 | unresolved |
| phi_input | qname#1 | qname#2 | analyzer.py:375 | strongly_inferred |
| phi_input | qname:undefined | qname#2 | analyzer.py:375 | unresolved |
| phi_input | item#1 | item#2 | analyzer.py:374 | strongly_inferred |
| phi_input | item:undefined | item#2 | analyzer.py:374 | unresolved |
| phi_input | mid#2 | mid#3 | analyzer.py:374 | strongly_inferred |
| phi_input | mid:undefined | mid#3 | analyzer.py:374 | unresolved |
| phi_input | qname#2 | qname#3 | analyzer.py:374 | strongly_inferred |
| phi_input | qname:undefined | qname#3 | analyzer.py:374 | unresolved |
| phi_input | cid#1 | cid#2 | analyzer.py:365 | strongly_inferred |
| phi_input | cid:undefined | cid#2 | analyzer.py:365 | unresolved |
| phi_input | item#2 | item#3 | analyzer.py:365 | strongly_inferred |
| phi_input | item:undefined | item#3 | analyzer.py:365 | unresolved |
| phi_input | mid#3 | mid#4 | analyzer.py:365 | strongly_inferred |
| phi_input | mid:undefined | mid#4 | analyzer.py:365 | unresolved |
| phi_input | qname#3 | qname#4 | analyzer.py:365 | strongly_inferred |
| phi_input | qname:undefined | qname#4 | analyzer.py:365 | unresolved |
| phi_input | cid#2 | cid#3 | analyzer.py:354 | strongly_inferred |
| phi_input | cid:undefined | cid#3 | analyzer.py:354 | unresolved |
| phi_input | item#3 | item#4 | analyzer.py:354 | strongly_inferred |
| phi_input | item:undefined | item#4 | analyzer.py:354 | unresolved |
| phi_input | mid#4 | mid#5 | analyzer.py:354 | strongly_inferred |
| phi_input | mid:undefined | mid#5 | analyzer.py:354 | unresolved |
| phi_input | qname#4 | qname#5 | analyzer.py:354 | strongly_inferred |
| phi_input | qname:undefined | qname#5 | analyzer.py:354 | unresolved |
| phi_input | sid#1 | sid#2 | analyzer.py:354 | strongly_inferred |
| phi_input | sid:undefined | sid#2 | analyzer.py:354 | unresolved |
| phi_input | cid#3 | cid#4 | analyzer.py:353 | strongly_inferred |
| phi_input | cid:undefined | cid#4 | analyzer.py:353 | unresolved |
| phi_input | item#4 | item#5 | analyzer.py:353 | strongly_inferred |
| phi_input | item:undefined | item#5 | analyzer.py:353 | unresolved |
| phi_input | mid#5 | mid#6 | analyzer.py:353 | strongly_inferred |
| phi_input | mid:undefined | mid#6 | analyzer.py:353 | unresolved |
| phi_input | n#3 | n#4 | analyzer.py:353 | strongly_inferred |
| phi_input | n#2 | n#4 | analyzer.py:353 | strongly_inferred |
| phi_input | qname#5 | qname#6 | analyzer.py:353 | strongly_inferred |
| phi_input | qname:undefined | qname#6 | analyzer.py:353 | unresolved |
| phi_input | sid#2 | sid#3 | analyzer.py:353 | strongly_inferred |
| phi_input | sid:undefined | sid#3 | analyzer.py:353 | unresolved |
| phi_input | alias#7 | alias#8 | analyzer.py:303 | strongly_inferred |
| phi_input | alias:undefined | alias#8 | analyzer.py:303 | unresolved |
| phi_input | cid#4 | cid#5 | analyzer.py:303 | strongly_inferred |
| phi_input | cid:undefined | cid#5 | analyzer.py:303 | unresolved |
| phi_input | elt#7 | elt#8 | analyzer.py:303 | strongly_inferred |
| phi_input | elt:undefined | elt#8 | analyzer.py:303 | unresolved |
| phi_input | fid#1 | fid#2 | analyzer.py:303 | strongly_inferred |
| phi_input | fid:undefined | fid#2 | analyzer.py:303 | unresolved |
| phi_input | h#1 | h#2 | analyzer.py:303 | strongly_inferred |
| phi_input | h:undefined | h#2 | analyzer.py:303 | unresolved |
| phi_input | import_map#1 | import_map#2 | analyzer.py:303 | strongly_inferred |
| phi_input | import_map:undefined | import_map#2 | analyzer.py:303 | unresolved |
| phi_input | item#5 | item#6 | analyzer.py:303 | strongly_inferred |
| phi_input | item:undefined | item#6 | analyzer.py:303 | unresolved |
| phi_input | mid#6 | mid#7 | analyzer.py:303 | strongly_inferred |
| phi_input | mid:undefined | mid#7 | analyzer.py:303 | unresolved |
| phi_input | mod#3 | mod#4 | analyzer.py:303 | strongly_inferred |
| phi_input | mod:undefined | mod#4 | analyzer.py:303 | unresolved |
| phi_input | module_globals#1 | module_globals#2 | analyzer.py:303 | strongly_inferred |
| phi_input | module_globals:undefined | module_globals#2 | analyzer.py:303 | unresolved |
| phi_input | n#4 | n#5 | analyzer.py:303 | strongly_inferred |
| phi_input | n:undefined | n#5 | analyzer.py:303 | unresolved |
| phi_input | path#1 | path#2 | analyzer.py:303 | strongly_inferred |
| phi_input | path:undefined | path#2 | analyzer.py:303 | unresolved |
| phi_input | qname#6 | qname#7 | analyzer.py:303 | strongly_inferred |
| phi_input | qname:undefined | qname#7 | analyzer.py:303 | unresolved |
| phi_input | rel#1 | rel#2 | analyzer.py:303 | strongly_inferred |
| phi_input | rel:undefined | rel#2 | analyzer.py:303 | unresolved |
| phi_input | sid#3 | sid#4 | analyzer.py:303 | strongly_inferred |
| phi_input | sid:undefined | sid#4 | analyzer.py:303 | unresolved |
| phi_input | skip_reason#1 | skip_reason#2 | analyzer.py:303 | strongly_inferred |
| phi_input | skip_reason:undefined | skip_reason#2 | analyzer.py:303 | unresolved |
| phi_input | target#4 | target#5 | analyzer.py:303 | strongly_inferred |
| phi_input | target:undefined | target#5 | analyzer.py:303 | unresolved |
| phi_input | target_mod#4 | target_mod#5 | analyzer.py:303 | strongly_inferred |
| phi_input | target_mod:undefined | target_mod#5 | analyzer.py:303 | unresolved |
| phi_input | targets#3 | targets#4 | analyzer.py:303 | strongly_inferred |
| phi_input | targets:undefined | targets#4 | analyzer.py:303 | unresolved |
| phi_input | text#1 | text#2 | analyzer.py:303 | strongly_inferred |
| phi_input | text:undefined | text#2 | analyzer.py:303 | unresolved |
| phi_input | top#2 | top#3 | analyzer.py:303 | strongly_inferred |
| phi_input | top:undefined | top#3 | analyzer.py:303 | unresolved |
| phi_input | tree#1 | tree#2 | analyzer.py:303 | strongly_inferred |
| phi_input | tree:undefined | tree#2 | analyzer.py:303 | unresolved |
| guards | files#1 | for_loop | analyzer.py:389 | observed |
| flows_to | files#1 | rel#3 | analyzer.py:389 | observed |
| flows_to | files#1 | meta#1 | analyzer.py:389 | observed |
| flows_to | meta#1 | mod#5 | analyzer.py:390 | observed |
| flows_to | rel#3 | fid#3 | analyzer.py:390 | observed |
| flows_to | meta#1 | h#3 | analyzer.py:390 | observed |
| guards | meta#1 | for_loop | analyzer.py:391 | observed |
| flows_to | meta#1 | n#6 | analyzer.py:391 | observed |
| guards | n#6 | branch | analyzer.py:392 | observed |
| flows_to | n#6 | targets#5 | analyzer.py:393 | observed |
| guards | n#6 | branch | analyzer.py:394 | observed |
| flows_to | mod#5 | targets#6 | analyzer.py:395 | observed |
| flows_to | n#6 | targets#6 | analyzer.py:395 | observed |
| phi_input | targets#6 | targets#7 | analyzer.py:392 | strongly_inferred |
| phi_input | targets#5 | targets#7 | analyzer.py:392 | strongly_inferred |
| guards | targets#7 | for_loop | analyzer.py:398 | observed |
| flows_to | targets#7 | target_mod#6 | analyzer.py:398 | observed |
| aliases_at_definition | targets#7 | target_mod#6 | analyzer.py:398 | observed |
| flows_to | targets#7 | line#1 | analyzer.py:398 | observed |
| aliases_at_definition | targets#7 | line#1 | analyzer.py:398 | observed |
| guards | target_mod#6 | branch | analyzer.py:399 | observed |
| guards | module_to_file#1 | branch | analyzer.py:399 | observed |
| flows_to | module_to_file#1 | tid#1 | analyzer.py:400 | observed |
| flows_to | target_mod#6 | tid#1 | analyzer.py:400 | observed |
| flows_to | target_mod#6 | tid#2 | analyzer.py:402 | observed |
| flows_to | nodes#1 | expr@403 | analyzer.py:403 | observed |
| flows_to | tid#2 | expr@403 | analyzer.py:403 | observed |
| flows_to | target_mod#6 | expr@403 | analyzer.py:403 | observed |
| phi_input | resolution#1 | resolution#3 | analyzer.py:399 | strongly_inferred |
| phi_input | resolution#2 | resolution#3 | analyzer.py:399 | strongly_inferred |
| phi_input | tid#1 | tid#3 | analyzer.py:399 | strongly_inferred |
| phi_input | tid#2 | tid#3 | analyzer.py:399 | strongly_inferred |
| flows_to | edges#1 | expr@406 | analyzer.py:406 | observed |
| flows_to | fid#3 | expr@406 | analyzer.py:406 | observed |
| flows_to | tid#3 | expr@406 | analyzer.py:406 | observed |
| flows_to | line#1 | expr@406 | analyzer.py:406 | observed |
| flows_to | resolution#3 | expr@406 | analyzer.py:407 | observed |
| flows_to | resolution#3 | expr@406 | analyzer.py:408 | observed |
| flows_to | rel#3 | expr@406 | analyzer.py:409 | observed |
| flows_to | line#1 | expr@406 | analyzer.py:409 | observed |
| flows_to | h#3 | expr@406 | analyzer.py:409 | observed |
| phi_input | line#1 | line#2 | analyzer.py:398 | strongly_inferred |
| phi_input | line:undefined | line#2 | analyzer.py:398 | unresolved |
| phi_input | resolution#3 | resolution#4 | analyzer.py:398 | strongly_inferred |
| phi_input | resolution:undefined | resolution#4 | analyzer.py:398 | unresolved |
| phi_input | target_mod#5 | target_mod#7 | analyzer.py:398 | strongly_inferred |
| phi_input | target_mod#6 | target_mod#7 | analyzer.py:398 | strongly_inferred |
| phi_input | tid#3 | tid#4 | analyzer.py:398 | strongly_inferred |
| phi_input | tid:undefined | tid#4 | analyzer.py:398 | unresolved |
| phi_input | line#2 | line#3 | analyzer.py:391 | strongly_inferred |
| phi_input | line:undefined | line#3 | analyzer.py:391 | unresolved |
| phi_input | n#5 | n#7 | analyzer.py:391 | strongly_inferred |
| phi_input | n#6 | n#7 | analyzer.py:391 | strongly_inferred |
| phi_input | resolution#4 | resolution#5 | analyzer.py:391 | strongly_inferred |
| phi_input | resolution:undefined | resolution#5 | analyzer.py:391 | unresolved |
| phi_input | target_mod#5 | target_mod#8 | analyzer.py:391 | strongly_inferred |
| phi_input | target_mod#7 | target_mod#8 | analyzer.py:391 | strongly_inferred |
| phi_input | targets#7 | targets#8 | analyzer.py:391 | strongly_inferred |
| phi_input | targets#4 | targets#8 | analyzer.py:391 | strongly_inferred |
| phi_input | tid#4 | tid#5 | analyzer.py:391 | strongly_inferred |
| phi_input | tid:undefined | tid#5 | analyzer.py:391 | unresolved |
| phi_input | fid#3 | fid#4 | analyzer.py:389 | strongly_inferred |
| phi_input | fid#2 | fid#4 | analyzer.py:389 | strongly_inferred |
| phi_input | h#3 | h#4 | analyzer.py:389 | strongly_inferred |
| phi_input | h#2 | h#4 | analyzer.py:389 | strongly_inferred |
| phi_input | line#3 | line#4 | analyzer.py:389 | strongly_inferred |
| phi_input | line:undefined | line#4 | analyzer.py:389 | unresolved |
| phi_input | meta#1 | meta#2 | analyzer.py:389 | strongly_inferred |
| phi_input | meta:undefined | meta#2 | analyzer.py:389 | unresolved |
| phi_input | mod#5 | mod#6 | analyzer.py:389 | strongly_inferred |
| phi_input | mod#4 | mod#6 | analyzer.py:389 | strongly_inferred |
| phi_input | n#5 | n#8 | analyzer.py:389 | strongly_inferred |
| phi_input | n#7 | n#8 | analyzer.py:389 | strongly_inferred |
| phi_input | rel#3 | rel#4 | analyzer.py:389 | strongly_inferred |
| phi_input | rel#2 | rel#4 | analyzer.py:389 | strongly_inferred |
| phi_input | resolution#5 | resolution#6 | analyzer.py:389 | strongly_inferred |
| phi_input | resolution:undefined | resolution#6 | analyzer.py:389 | unresolved |
| phi_input | target_mod#5 | target_mod#9 | analyzer.py:389 | strongly_inferred |
| phi_input | target_mod#8 | target_mod#9 | analyzer.py:389 | strongly_inferred |
| phi_input | targets#4 | targets#9 | analyzer.py:389 | strongly_inferred |
| phi_input | targets#8 | targets#9 | analyzer.py:389 | strongly_inferred |
| phi_input | tid#5 | tid#6 | analyzer.py:389 | strongly_inferred |
| phi_input | tid:undefined | tid#6 | analyzer.py:389 | unresolved |
| guards | functions#1 | for_loop | analyzer.py:414 | observed |
| flows_to | functions#1 | info#1 | analyzer.py:414 | observed |
| aliases_at_definition | functions#1 | info#1 | analyzer.py:414 | observed |
| flows_to | info#1 | fn#1 | analyzer.py:415 | observed |
| flows_to | info#1 | rel#5 | analyzer.py:415 | observed |
| flows_to | info#1 | mod#7 | analyzer.py:415 | observed |
| flows_to | info#1 | qname#8 | analyzer.py:415 | observed |
| flows_to | info#1 | owner_id#1 | analyzer.py:415 | observed |
| flows_to | info#1 | class_name#1 | analyzer.py:415 | observed |
| flows_to | files#1 | h#5 | analyzer.py:416 | observed |
| flows_to | rel#5 | h#5 | analyzer.py:416 | observed |
| flows_to | imports_by_module#1 | import_map#3 | analyzer.py:416 | observed |
| flows_to | mod#7 | import_map#3 | analyzer.py:416 | observed |
| flows_to | fn#1 | defaults#1 | analyzer.py:417 | observed |
| guards | defaults#1 | for_loop | analyzer.py:418 | observed |
| flows_to | defaults#1 | d#1 | analyzer.py:418 | observed |
| aliases_at_definition | defaults#1 | d#1 | analyzer.py:418 | observed |
| guards | d#1 | branch | analyzer.py:419 | observed |
| flows_to | findings#1 | expr@420 | analyzer.py:420 | observed |
| flows_to | rel#5 | expr@420 | analyzer.py:420 | observed |
| flows_to | qname#8 | expr@420 | analyzer.py:421 | observed |
| flows_to | fn#1 | expr@420 | analyzer.py:421 | observed |
| phi_input | d#1 | d#2 | analyzer.py:418 | strongly_inferred |
| phi_input | d:undefined | d#2 | analyzer.py:418 | unresolved |
| flows_to | findings#1 | expr@423 | analyzer.py:423 | observed |
| flows_to | fn#1 | expr@423 | analyzer.py:423 | observed |
| flows_to | rel#5 | expr@423 | analyzer.py:423 | observed |
| flows_to | qname#8 | expr@423 | analyzer.py:423 | observed |
| flows_to | rel#5 | scan#1 | analyzer.py:424 | observed |
| flows_to | qname#8 | scan#1 | analyzer.py:424 | observed |
| guards | fn#1 | for_loop | analyzer.py:425 | observed |
| flows_to | fn#1 | st#1 | analyzer.py:425 | observed |
| flows_to | scan#1 | expr@426 | analyzer.py:426 | observed |
| flows_to | st#1 | expr@426 | analyzer.py:426 | observed |
| phi_input | st#1 | st#2 | analyzer.py:425 | strongly_inferred |
| phi_input | st:undefined | st#2 | analyzer.py:425 | unresolved |
| guards | scan#1 | for_loop | analyzer.py:427 | observed |
| flows_to | scan#1 | issue#1 | analyzer.py:427 | observed |
| flows_to | findings#1 | expr@428 | analyzer.py:428 | observed |
| flows_to | rel#5 | expr@428 | analyzer.py:428 | observed |
| flows_to | qname#8 | expr@428 | analyzer.py:428 | observed |
| flows_to | issue#1 | expr@428 | analyzer.py:428 | observed |
| phi_input | issue#1 | issue#2 | analyzer.py:427 | strongly_inferred |
| phi_input | issue:undefined | issue#2 | analyzer.py:427 | unresolved |
| guards | scan#1 | for_loop | analyzer.py:431 | observed |
| flows_to | scan#1 | ctrl#1 | analyzer.py:431 | observed |
| flows_to | rel#5 | cid#6 | analyzer.py:432 | observed |
| flows_to | qname#8 | cid#6 | analyzer.py:432 | observed |
| flows_to | ctrl#1 | cid#6 | analyzer.py:432 | observed |
| flows_to | edges#1 | expr@436 | analyzer.py:436 | observed |
| flows_to | owner_id#1 | expr@436 | analyzer.py:436 | observed |
| flows_to | cid#6 | expr@436 | analyzer.py:436 | observed |
| flows_to | rel#5 | expr@436 | analyzer.py:438 | observed |
| flows_to | ctrl#1 | expr@436 | analyzer.py:438 | observed |
| flows_to | h#5 | expr@436 | analyzer.py:438 | observed |
| flows_to | feature#1 | expr@439 | analyzer.py:439 | observed |
| flows_to | ctrl#1 | expr@439 | analyzer.py:439 | observed |
| phi_input | cid#6 | cid#7 | analyzer.py:431 | strongly_inferred |
| phi_input | cid#5 | cid#7 | analyzer.py:431 | strongly_inferred |
| phi_input | ctrl#1 | ctrl#2 | analyzer.py:431 | strongly_inferred |
| phi_input | ctrl:undefined | ctrl#2 | analyzer.py:431 | unresolved |
| flows_to | fn#1 | closure#1 | analyzer.py:443 | observed |
| flows_to | rel#5 | closure#1 | analyzer.py:443 | observed |
| flows_to | qname#8 | closure#1 | analyzer.py:443 | observed |
| flows_to | owner_id#1 | closure#1 | analyzer.py:443 | observed |
| flows_to | h#5 | closure#1 | analyzer.py:443 | observed |
| flows_to | mod#7 | closure#1 | analyzer.py:443 | observed |
| flows_to | class_name#1 | closure#1 | analyzer.py:443 | observed |
| flows_to | files#1 | closure#1 | analyzer.py:444 | observed |
| flows_to | rel#5 | closure#1 | analyzer.py:444 | observed |
| guards | closure#1 | for_loop | analyzer.py:446 | observed |
| flows_to | closure#1 | n#9 | analyzer.py:446 | observed |
| flows_to | nodes#1 | expr@447 | analyzer.py:447 | observed |
| flows_to | n#9 | expr@447 | analyzer.py:447 | observed |
| phi_input | n#9 | n#10 | analyzer.py:446 | strongly_inferred |
| phi_input | n#8 | n#10 | analyzer.py:446 | strongly_inferred |
| flows_to | edges#1 | expr@448 | analyzer.py:448 | observed |
| flows_to | closure#1 | expr@448 | analyzer.py:448 | observed |
| flows_to | findings#1 | expr@449 | analyzer.py:449 | observed |
| flows_to | closure#1 | expr@449 | analyzer.py:449 | observed |
| flows_to | closure#1 | csum#1 | analyzer.py:450 | observed |
| guards | scan#1 | for_loop | analyzer.py:458 | observed |
| flows_to | scan#1 | ef#1 | analyzer.py:458 | observed |
| flows_to | ef#1 | eid#1 | analyzer.py:459 | observed |
| flows_to | nodes#1 | expr@460 | analyzer.py:460 | observed |
| flows_to | eid#1 | expr@460 | analyzer.py:460 | observed |
| flows_to | ef#1 | expr@460 | analyzer.py:460 | observed |
| flows_to | edges#1 | expr@461 | analyzer.py:461 | observed |
| flows_to | owner_id#1 | expr@461 | analyzer.py:461 | observed |
| flows_to | eid#1 | expr@461 | analyzer.py:461 | observed |
| flows_to | ef#1 | expr@461 | analyzer.py:461 | observed |
| flows_to | eid#1 | expr@461 | analyzer.py:462 | observed |
| flows_to | ef#1 | expr@461 | analyzer.py:462 | observed |
| flows_to | rel#5 | expr@461 | analyzer.py:463 | observed |
| flows_to | ef#1 | expr@461 | analyzer.py:463 | observed |
| flows_to | h#5 | expr@461 | analyzer.py:463 | observed |
| flows_to | feature#1 | expr@464 | analyzer.py:464 | observed |
| flows_to | ef#1 | expr@464 | analyzer.py:464 | observed |
| phi_input | ef#1 | ef#2 | analyzer.py:458 | strongly_inferred |
| phi_input | ef:undefined | ef#2 | analyzer.py:458 | unresolved |
| phi_input | eid#1 | eid#2 | analyzer.py:458 | strongly_inferred |
| phi_input | eid:undefined | eid#2 | analyzer.py:458 | unresolved |
| guards | scan#1 | for_loop | analyzer.py:466 | observed |
| flows_to | scan#1 | call#1 | analyzer.py:466 | observed |
| flows_to | call#1 | callee#1 | analyzer.py:467 | observed |
| guards | callee#1 | branch | analyzer.py:468 | observed |
| guards | mod#7 | branch | analyzer.py:469 | observed |
| guards | callee#1 | branch | analyzer.py:469 | observed |
| guards | definitions#1 | branch | analyzer.py:469 | observed |
| flows_to | definitions#1 | target_id#2 | analyzer.py:470 | observed |
| flows_to | mod#7 | target_id#2 | analyzer.py:470 | observed |
| flows_to | callee#1 | target_id#2 | analyzer.py:470 | observed |
| guards | callee#1 | branch | analyzer.py:471 | observed |
| guards | import_map#3 | branch | analyzer.py:471 | observed |
| flows_to | import_map#3 | im#1 | analyzer.py:472 | observed |
| flows_to | callee#1 | im#1 | analyzer.py:472 | observed |
| flows_to | import_map#3 | sym#1 | analyzer.py:472 | observed |
| flows_to | callee#1 | sym#1 | analyzer.py:472 | observed |
| guards | sym#1 | branch | analyzer.py:473 | observed |
| guards | im#1 | branch | analyzer.py:473 | observed |
| guards | definitions#1 | branch | analyzer.py:473 | observed |
| flows_to | definitions#1 | target_id#3 | analyzer.py:474 | observed |
| flows_to | im#1 | target_id#3 | analyzer.py:474 | observed |
| flows_to | sym#1 | target_id#3 | analyzer.py:474 | observed |
| phi_input | resolution#7 | resolution#10 | analyzer.py:473 | strongly_inferred |
| phi_input | resolution#9 | resolution#10 | analyzer.py:473 | strongly_inferred |
| phi_input | target_id#1 | target_id#4 | analyzer.py:473 | strongly_inferred |
| phi_input | target_id#3 | target_id#4 | analyzer.py:473 | strongly_inferred |
| phi_input | im#1 | im#2 | analyzer.py:471 | strongly_inferred |
| phi_input | im:undefined | im#2 | analyzer.py:471 | unresolved |
| phi_input | resolution#10 | resolution#11 | analyzer.py:471 | strongly_inferred |
| phi_input | resolution#7 | resolution#11 | analyzer.py:471 | strongly_inferred |
| phi_input | sym#1 | sym#2 | analyzer.py:471 | strongly_inferred |
| phi_input | sym:undefined | sym#2 | analyzer.py:471 | unresolved |
| phi_input | target_id#1 | target_id#5 | analyzer.py:471 | strongly_inferred |
| phi_input | target_id#4 | target_id#5 | analyzer.py:471 | strongly_inferred |
| phi_input | im#2 | im#3 | analyzer.py:469 | strongly_inferred |
| phi_input | im:undefined | im#3 | analyzer.py:469 | unresolved |
| phi_input | resolution#11 | resolution#12 | analyzer.py:469 | strongly_inferred |
| phi_input | resolution#8 | resolution#12 | analyzer.py:469 | strongly_inferred |
| phi_input | sym#2 | sym#3 | analyzer.py:469 | strongly_inferred |
| phi_input | sym:undefined | sym#3 | analyzer.py:469 | unresolved |
| phi_input | target_id#5 | target_id#6 | analyzer.py:469 | strongly_inferred |
| phi_input | target_id#2 | target_id#6 | analyzer.py:469 | strongly_inferred |
| flows_to | callee#1 | head#1 | analyzer.py:476 | observed |
| flows_to | callee#1 | tail#1 | analyzer.py:476 | observed |
| guards | head#1 | branch | analyzer.py:477 | observed |
| guards | import_map#3 | branch | analyzer.py:477 | observed |
| flows_to | import_map#3 | im#4 | analyzer.py:478 | observed |
| flows_to | head#1 | im#4 | analyzer.py:478 | observed |
| flows_to | import_map#3 | sym#4 | analyzer.py:478 | observed |
| flows_to | head#1 | sym#4 | analyzer.py:478 | observed |
| flows_to | sym#4 | candidate#1 | analyzer.py:479 | observed |
| flows_to | tail#1 | candidate#1 | analyzer.py:479 | observed |
| guards | im#4 | branch | analyzer.py:480 | observed |
| guards | candidate#1 | branch | analyzer.py:480 | observed |
| guards | definitions#1 | branch | analyzer.py:480 | observed |
| flows_to | definitions#1 | target_id#7 | analyzer.py:481 | observed |
| flows_to | im#4 | target_id#7 | analyzer.py:481 | observed |
| flows_to | candidate#1 | target_id#7 | analyzer.py:481 | observed |
| phi_input | resolution#7 | resolution#14 | analyzer.py:480 | strongly_inferred |
| phi_input | resolution#13 | resolution#14 | analyzer.py:480 | strongly_inferred |
| phi_input | target_id#7 | target_id#8 | analyzer.py:480 | strongly_inferred |
| phi_input | target_id#1 | target_id#8 | analyzer.py:480 | strongly_inferred |
| phi_input | candidate#1 | candidate#2 | analyzer.py:477 | strongly_inferred |
| phi_input | candidate:undefined | candidate#2 | analyzer.py:477 | unresolved |
| phi_input | im#4 | im#5 | analyzer.py:477 | strongly_inferred |
| phi_input | im:undefined | im#5 | analyzer.py:477 | unresolved |
| phi_input | resolution#14 | resolution#15 | analyzer.py:477 | strongly_inferred |
| phi_input | resolution#7 | resolution#15 | analyzer.py:477 | strongly_inferred |
| phi_input | sym#4 | sym#5 | analyzer.py:477 | strongly_inferred |
| phi_input | sym:undefined | sym#5 | analyzer.py:477 | unresolved |
| phi_input | target_id#1 | target_id#9 | analyzer.py:477 | strongly_inferred |
| phi_input | target_id#8 | target_id#9 | analyzer.py:477 | strongly_inferred |
| guards | head#1 | branch | analyzer.py:482 | observed |
| guards | class_name#1 | branch | analyzer.py:482 | observed |
| guards | mod#7 | branch | analyzer.py:482 | observed |
| guards | tail#1 | branch | analyzer.py:482 | observed |
| guards | definitions#1 | branch | analyzer.py:482 | observed |
| flows_to | definitions#1 | target_id#10 | analyzer.py:483 | observed |
| flows_to | mod#7 | target_id#10 | analyzer.py:483 | observed |
| flows_to | class_name#1 | target_id#10 | analyzer.py:483 | observed |
| flows_to | tail#1 | target_id#10 | analyzer.py:483 | observed |
| phi_input | resolution#16 | resolution#17 | analyzer.py:482 | strongly_inferred |
| phi_input | resolution#15 | resolution#17 | analyzer.py:482 | strongly_inferred |
| phi_input | target_id#10 | target_id#11 | analyzer.py:482 | strongly_inferred |
| phi_input | target_id#9 | target_id#11 | analyzer.py:482 | strongly_inferred |
| phi_input | candidate#2 | candidate#3 | analyzer.py:468 | strongly_inferred |
| phi_input | candidate:undefined | candidate#3 | analyzer.py:468 | unresolved |
| phi_input | head#1 | head#2 | analyzer.py:468 | strongly_inferred |
| phi_input | head:undefined | head#2 | analyzer.py:468 | unresolved |
| phi_input | im#3 | im#6 | analyzer.py:468 | strongly_inferred |
| phi_input | im#5 | im#6 | analyzer.py:468 | strongly_inferred |
| phi_input | resolution#17 | resolution#18 | analyzer.py:468 | strongly_inferred |
| phi_input | resolution#12 | resolution#18 | analyzer.py:468 | strongly_inferred |
| phi_input | sym#5 | sym#6 | analyzer.py:468 | strongly_inferred |
| phi_input | sym#3 | sym#6 | analyzer.py:468 | strongly_inferred |
| phi_input | tail#1 | tail#2 | analyzer.py:468 | strongly_inferred |
| phi_input | tail:undefined | tail#2 | analyzer.py:468 | unresolved |
| phi_input | target_id#6 | target_id#12 | analyzer.py:468 | strongly_inferred |
| phi_input | target_id#11 | target_id#12 | analyzer.py:468 | strongly_inferred |
| guards | target_id#12 | branch | analyzer.py:484 | observed |
| flows_to | callee#1 | target_id#13 | analyzer.py:485 | observed |
| flows_to | nodes#1 | expr@486 | analyzer.py:486 | observed |
| flows_to | target_id#13 | expr@486 | analyzer.py:486 | observed |
| flows_to | callee#1 | expr@486 | analyzer.py:486 | observed |
| phi_input | target_id#12 | target_id#14 | analyzer.py:484 | strongly_inferred |
| phi_input | target_id#13 | target_id#14 | analyzer.py:484 | strongly_inferred |
| flows_to | edges#1 | expr@491 | analyzer.py:491 | observed |
| flows_to | owner_id#1 | expr@491 | analyzer.py:491 | observed |
| flows_to | target_id#14 | expr@491 | analyzer.py:491 | observed |
| flows_to | call#1 | expr@491 | analyzer.py:491 | observed |
| flows_to | target_id#14 | expr@491 | analyzer.py:492 | observed |
| flows_to | callee#1 | expr@491 | analyzer.py:492 | observed |
| flows_to | resolution#18 | expr@491 | analyzer.py:492 | observed |
| flows_to | resolution#18 | expr@491 | analyzer.py:493 | observed |
| flows_to | resolution#18 | expr@491 | analyzer.py:494 | observed |
| flows_to | rel#5 | expr@491 | analyzer.py:495 | observed |
| flows_to | call#1 | expr@491 | analyzer.py:495 | observed |
| flows_to | h#5 | expr@491 | analyzer.py:495 | observed |
| phi_input | call#1 | call#2 | analyzer.py:466 | strongly_inferred |
| phi_input | call:undefined | call#2 | analyzer.py:466 | unresolved |
| phi_input | callee#1 | callee#2 | analyzer.py:466 | strongly_inferred |
| phi_input | callee:undefined | callee#2 | analyzer.py:466 | unresolved |
| phi_input | candidate#3 | candidate#4 | analyzer.py:466 | strongly_inferred |
| phi_input | candidate:undefined | candidate#4 | analyzer.py:466 | unresolved |
| phi_input | head#2 | head#3 | analyzer.py:466 | strongly_inferred |
| phi_input | head:undefined | head#3 | analyzer.py:466 | unresolved |
| phi_input | im#6 | im#7 | analyzer.py:466 | strongly_inferred |
| phi_input | im:undefined | im#7 | analyzer.py:466 | unresolved |
| phi_input | resolution#18 | resolution#19 | analyzer.py:466 | strongly_inferred |
| phi_input | resolution#6 | resolution#19 | analyzer.py:466 | strongly_inferred |
| phi_input | sym#6 | sym#7 | analyzer.py:466 | strongly_inferred |
| phi_input | sym:undefined | sym#7 | analyzer.py:466 | unresolved |
| phi_input | tail#2 | tail#3 | analyzer.py:466 | strongly_inferred |
| phi_input | tail:undefined | tail#3 | analyzer.py:466 | unresolved |
| phi_input | target_id#14 | target_id#15 | analyzer.py:466 | strongly_inferred |
| phi_input | target_id:undefined | target_id#15 | analyzer.py:466 | unresolved |
| flows_to | feature#1 | sig#1 | analyzer.py:498 | observed |
| flows_to | feature#1 | coarse_sig#1 | analyzer.py:499 | observed |
| guards | feature#1 | for_loop | analyzer.py:503 | observed |
| flows_to | feature#1 | m#1 | analyzer.py:503 | observed |
| flows_to | motifs#1 | expr@504 | analyzer.py:504 | observed |
| flows_to | owner_id#1 | expr@504 | analyzer.py:504 | observed |
| flows_to | m#1 | expr@504 | analyzer.py:504 | observed |
| flows_to | rel#5 | expr@504 | analyzer.py:505 | observed |
| flows_to | qname#8 | expr@504 | analyzer.py:505 | observed |
| flows_to | m#1 | expr@504 | analyzer.py:505 | observed |
| phi_input | m#1 | m#2 | analyzer.py:503 | strongly_inferred |
| phi_input | m:undefined | m#2 | analyzer.py:503 | unresolved |
| phi_input | call#2 | call#3 | analyzer.py:414 | strongly_inferred |
| phi_input | call:undefined | call#3 | analyzer.py:414 | unresolved |
| phi_input | callee#2 | callee#3 | analyzer.py:414 | strongly_inferred |
| phi_input | callee:undefined | callee#3 | analyzer.py:414 | unresolved |
| phi_input | candidate#4 | candidate#5 | analyzer.py:414 | strongly_inferred |
| phi_input | candidate:undefined | candidate#5 | analyzer.py:414 | unresolved |
| phi_input | cid#7 | cid#8 | analyzer.py:414 | strongly_inferred |
| phi_input | cid#5 | cid#8 | analyzer.py:414 | strongly_inferred |
| phi_input | class_name#1 | class_name#2 | analyzer.py:414 | strongly_inferred |
| phi_input | class_name:undefined | class_name#2 | analyzer.py:414 | unresolved |
| phi_input | closure#1 | closure#2 | analyzer.py:414 | strongly_inferred |
| phi_input | closure:undefined | closure#2 | analyzer.py:414 | unresolved |
| phi_input | coarse_sig#1 | coarse_sig#2 | analyzer.py:414 | strongly_inferred |
| phi_input | coarse_sig:undefined | coarse_sig#2 | analyzer.py:414 | unresolved |
| phi_input | csum#1 | csum#2 | analyzer.py:414 | strongly_inferred |
| phi_input | csum:undefined | csum#2 | analyzer.py:414 | unresolved |
| phi_input | ctrl#2 | ctrl#3 | analyzer.py:414 | strongly_inferred |
| phi_input | ctrl:undefined | ctrl#3 | analyzer.py:414 | unresolved |
| phi_input | d#2 | d#3 | analyzer.py:414 | strongly_inferred |
| phi_input | d:undefined | d#3 | analyzer.py:414 | unresolved |
| phi_input | defaults#1 | defaults#2 | analyzer.py:414 | strongly_inferred |
| phi_input | defaults:undefined | defaults#2 | analyzer.py:414 | unresolved |
| phi_input | ef#2 | ef#3 | analyzer.py:414 | strongly_inferred |
| phi_input | ef:undefined | ef#3 | analyzer.py:414 | unresolved |
| phi_input | eid#2 | eid#3 | analyzer.py:414 | strongly_inferred |
| phi_input | eid:undefined | eid#3 | analyzer.py:414 | unresolved |
| phi_input | feature#1 | feature#2 | analyzer.py:414 | strongly_inferred |
| phi_input | feature:undefined | feature#2 | analyzer.py:414 | unresolved |
| phi_input | fn#1 | fn#2 | analyzer.py:414 | strongly_inferred |
| phi_input | fn:undefined | fn#2 | analyzer.py:414 | unresolved |
| phi_input | h#5 | h#6 | analyzer.py:414 | strongly_inferred |
| phi_input | h#4 | h#6 | analyzer.py:414 | strongly_inferred |
| phi_input | head#3 | head#4 | analyzer.py:414 | strongly_inferred |
| phi_input | head:undefined | head#4 | analyzer.py:414 | unresolved |
| phi_input | im#7 | im#8 | analyzer.py:414 | strongly_inferred |
| phi_input | im:undefined | im#8 | analyzer.py:414 | unresolved |
| phi_input | import_map#3 | import_map#4 | analyzer.py:414 | strongly_inferred |
| phi_input | import_map#2 | import_map#4 | analyzer.py:414 | strongly_inferred |
| phi_input | info#1 | info#2 | analyzer.py:414 | strongly_inferred |
| phi_input | info:undefined | info#2 | analyzer.py:414 | unresolved |
| phi_input | issue#2 | issue#3 | analyzer.py:414 | strongly_inferred |
| phi_input | issue:undefined | issue#3 | analyzer.py:414 | unresolved |
| phi_input | m#2 | m#3 | analyzer.py:414 | strongly_inferred |
| phi_input | m:undefined | m#3 | analyzer.py:414 | unresolved |
| phi_input | mod#6 | mod#8 | analyzer.py:414 | strongly_inferred |
| phi_input | mod#7 | mod#8 | analyzer.py:414 | strongly_inferred |
| phi_input | n#8 | n#11 | analyzer.py:414 | strongly_inferred |
| phi_input | n#10 | n#11 | analyzer.py:414 | strongly_inferred |
| phi_input | owner_id#1 | owner_id#2 | analyzer.py:414 | strongly_inferred |
| phi_input | owner_id:undefined | owner_id#2 | analyzer.py:414 | unresolved |
| phi_input | qname#7 | qname#9 | analyzer.py:414 | strongly_inferred |
| phi_input | qname#8 | qname#9 | analyzer.py:414 | strongly_inferred |
| phi_input | rel#5 | rel#6 | analyzer.py:414 | strongly_inferred |
| phi_input | rel#4 | rel#6 | analyzer.py:414 | strongly_inferred |
| phi_input | resolution#6 | resolution#20 | analyzer.py:414 | strongly_inferred |
| phi_input | resolution#19 | resolution#20 | analyzer.py:414 | strongly_inferred |
| phi_input | scan#1 | scan#2 | analyzer.py:414 | strongly_inferred |
| phi_input | scan:undefined | scan#2 | analyzer.py:414 | unresolved |
| phi_input | sig#1 | sig#2 | analyzer.py:414 | strongly_inferred |
| phi_input | sig:undefined | sig#2 | analyzer.py:414 | unresolved |
| phi_input | st#2 | st#3 | analyzer.py:414 | strongly_inferred |
| phi_input | st:undefined | st#3 | analyzer.py:414 | unresolved |
| phi_input | sym#7 | sym#8 | analyzer.py:414 | strongly_inferred |
| phi_input | sym:undefined | sym#8 | analyzer.py:414 | unresolved |
| phi_input | tail#3 | tail#4 | analyzer.py:414 | strongly_inferred |
| phi_input | tail:undefined | tail#4 | analyzer.py:414 | unresolved |
| phi_input | target_id#15 | target_id#16 | analyzer.py:414 | strongly_inferred |
| phi_input | target_id:undefined | target_id#16 | analyzer.py:414 | unresolved |
| guards | nodes#1 | for_loop | analyzer.py:510 | observed |
| flows_to | nodes#1 | nid#1 | analyzer.py:510 | observed |
| flows_to | nodes#1 | n#12 | analyzer.py:510 | observed |
| guards | n#12 | branch | analyzer.py:511 | observed |
| flows_to | import_g#1 | expr@511 | analyzer.py:511 | observed |
| flows_to | nid#1 | expr@511 | analyzer.py:511 | observed |
| guards | n#12 | branch | analyzer.py:512 | observed |
| flows_to | call_g#1 | expr@512 | analyzer.py:512 | observed |
| flows_to | nid#1 | expr@512 | analyzer.py:512 | observed |
| phi_input | n#11 | n#13 | analyzer.py:510 | strongly_inferred |
| phi_input | n#12 | n#13 | analyzer.py:510 | strongly_inferred |
| phi_input | nid#1 | nid#2 | analyzer.py:510 | strongly_inferred |
| phi_input | nid:undefined | nid#2 | analyzer.py:510 | unresolved |
| guards | edges#1 | for_loop | analyzer.py:513 | observed |
| flows_to | edges#1 | e#2 | analyzer.py:513 | observed |
| aliases_at_definition | edges#1 | e#2 | analyzer.py:513 | observed |
| guards | e#2 | branch | analyzer.py:514 | observed |
| flows_to | import_g#1 | expr@514 | analyzer.py:514 | observed |
| flows_to | e#2 | expr@514 | analyzer.py:514 | observed |
| guards | e#2 | branch | analyzer.py:515 | observed |
| guards | call_g#1 | branch | analyzer.py:515 | observed |
| flows_to | call_g#1 | expr@516 | analyzer.py:516 | observed |
| flows_to | e#2 | expr@516 | analyzer.py:516 | observed |
| phi_input | e#2 | e#3 | analyzer.py:513 | strongly_inferred |
| phi_input | e:undefined | e#3 | analyzer.py:513 | unresolved |
| guards | import_g#1 | for_loop | analyzer.py:518 | observed |
| flows_to | import_g#1 | cyc#1 | analyzer.py:518 | observed |
| flows_to | findings#1 | expr@519 | analyzer.py:519 | observed |
| flows_to | cyc#1 | expr@519 | analyzer.py:519 | observed |
| phi_input | cyc#1 | cyc#2 | analyzer.py:518 | strongly_inferred |
| phi_input | cyc:undefined | cyc#2 | analyzer.py:518 | unresolved |
| guards | call_g#1 | for_loop | analyzer.py:521 | observed |
| flows_to | call_g#1 | cyc#3 | analyzer.py:521 | observed |
| flows_to | findings#1 | expr@522 | analyzer.py:522 | observed |
| flows_to | cyc#3 | expr@522 | analyzer.py:522 | observed |
| phi_input | cyc#2 | cyc#4 | analyzer.py:521 | strongly_inferred |
| phi_input | cyc#3 | cyc#4 | analyzer.py:521 | strongly_inferred |
| flows_to | edges#1 | out_calls#1 | analyzer.py:526 | observed |
| flows_to | edges#1 | unresolved_calls#1 | analyzer.py:527 | observed |
| guards | out_calls#1 | for_loop | analyzer.py:528 | observed |
| flows_to | out_calls#1 | nid#3 | analyzer.py:528 | observed |
| flows_to | out_calls#1 | count#1 | analyzer.py:528 | observed |
| guards | count#1 | branch | analyzer.py:529 | observed |
| guards | nid#3 | branch | analyzer.py:529 | observed |
| guards | nodes#1 | branch | analyzer.py:529 | observed |
| flows_to | nodes#1 | n#14 | analyzer.py:530 | observed |
| flows_to | nid#3 | n#14 | analyzer.py:530 | observed |
| flows_to | findings#1 | expr@531 | analyzer.py:531 | observed |
| flows_to | n#14 | expr@531 | analyzer.py:531 | observed |
| flows_to | n#14 | expr@531 | analyzer.py:532 | observed |
| flows_to | count#1 | expr@531 | analyzer.py:532 | observed |
| phi_input | n#13 | n#15 | analyzer.py:529 | strongly_inferred |
| phi_input | n#14 | n#15 | analyzer.py:529 | strongly_inferred |
| guards | unresolved_calls#1 | branch | analyzer.py:534 | observed |
| guards | nid#3 | branch | analyzer.py:534 | observed |
| guards | nodes#1 | branch | analyzer.py:534 | observed |
| flows_to | nodes#1 | n#16 | analyzer.py:535 | observed |
| flows_to | nid#3 | n#16 | analyzer.py:535 | observed |
| flows_to | findings#1 | expr@536 | analyzer.py:536 | observed |
| flows_to | n#16 | expr@536 | analyzer.py:536 | observed |
| flows_to | n#16 | expr@536 | analyzer.py:537 | observed |
| flows_to | unresolved_calls#1 | expr@536 | analyzer.py:537 | observed |
| flows_to | nid#3 | expr@536 | analyzer.py:537 | observed |
| phi_input | n#16 | n#17 | analyzer.py:534 | strongly_inferred |
| phi_input | n#15 | n#17 | analyzer.py:534 | strongly_inferred |
| phi_input | count#1 | count#2 | analyzer.py:528 | strongly_inferred |
| phi_input | count:undefined | count#2 | analyzer.py:528 | unresolved |
| phi_input | n#17 | n#18 | analyzer.py:528 | strongly_inferred |
| phi_input | n#13 | n#18 | analyzer.py:528 | strongly_inferred |
| phi_input | nid#3 | nid#4 | analyzer.py:528 | strongly_inferred |
| phi_input | nid#2 | nid#4 | analyzer.py:528 | strongly_inferred |
| guards | edges#1 | for_loop | analyzer.py:542 | observed |
| flows_to | edges#1 | e#4 | analyzer.py:542 | observed |
| aliases_at_definition | edges#1 | e#4 | analyzer.py:542 | observed |
| guards | e#4 | branch | analyzer.py:543 | observed |
| flows_to | state_writers#1 | expr@544 | analyzer.py:544 | observed |
| flows_to | e#4 | expr@544 | analyzer.py:544 | observed |
| guards | e#4 | branch | analyzer.py:545 | observed |
| flows_to | state_readers#1 | expr@546 | analyzer.py:546 | observed |
| flows_to | e#4 | expr@546 | analyzer.py:546 | observed |
| phi_input | e#4 | e#5 | analyzer.py:542 | strongly_inferred |
| phi_input | e#3 | e#5 | analyzer.py:542 | strongly_inferred |
| guards | state_writers#1 | for_loop | analyzer.py:547 | observed |
| flows_to | state_writers#1 | sid#5 | analyzer.py:547 | observed |
| flows_to | state_writers#1 | writers#1 | analyzer.py:547 | observed |
| guards | writers#1 | branch | analyzer.py:548 | observed |
| guards | sid#5 | branch | analyzer.py:548 | observed |
| guards | nodes#1 | branch | analyzer.py:548 | observed |
| flows_to | findings#1 | expr@549 | analyzer.py:549 | observed |
| flows_to | nodes#1 | expr@549 | analyzer.py:550 | observed |
| flows_to | sid#5 | expr@549 | analyzer.py:550 | observed |
| flows_to | writers#1 | expr@549 | analyzer.py:550 | observed |
| phi_input | sid#4 | sid#6 | analyzer.py:547 | strongly_inferred |
| phi_input | sid#5 | sid#6 | analyzer.py:547 | strongly_inferred |
| phi_input | writers#1 | writers#2 | analyzer.py:547 | strongly_inferred |
| phi_input | writers:undefined | writers#2 | analyzer.py:547 | unresolved |
| guards | shapes#1 | for_loop | analyzer.py:555 | observed |
| flows_to | shapes#1 | shape#1 | analyzer.py:555 | observed |
| flows_to | shapes#1 | funcs#1 | analyzer.py:555 | observed |
| guards | funcs#1 | branch | analyzer.py:556 | observed |
| flows_to | findings#1 | expr@557 | analyzer.py:557 | observed |
| flows_to | funcs#1 | expr@557 | analyzer.py:557 | observed |
| phi_input | funcs#1 | funcs#2 | analyzer.py:555 | strongly_inferred |
| phi_input | funcs:undefined | funcs#2 | analyzer.py:555 | unresolved |
| phi_input | shape#1 | shape#2 | analyzer.py:555 | strongly_inferred |
| phi_input | shape:undefined | shape#2 | analyzer.py:555 | unresolved |
| guards | function_features#1 | for_loop | analyzer.py:562 | observed |
| flows_to | function_features#1 | nid#5 | analyzer.py:562 | observed |
| flows_to | function_features#1 | feat#1 | analyzer.py:562 | observed |
| flows_to | sig_groups#1 | expr@563 | analyzer.py:563 | observed |
| flows_to | feat#1 | expr@563 | analyzer.py:563 | observed |
| flows_to | nid#5 | expr@563 | analyzer.py:563 | observed |
| phi_input | feat#1 | feat#2 | analyzer.py:562 | strongly_inferred |
| phi_input | feat:undefined | feat#2 | analyzer.py:562 | unresolved |
| phi_input | nid#4 | nid#6 | analyzer.py:562 | strongly_inferred |
| phi_input | nid#5 | nid#6 | analyzer.py:562 | strongly_inferred |
| guards | sig_groups#1 | for_loop | analyzer.py:565 | observed |
| flows_to | sig_groups#1 | sig#3 | analyzer.py:565 | observed |
| flows_to | sig_groups#1 | members#1 | analyzer.py:565 | observed |
| guards | members#1 | branch | analyzer.py:566 | observed |
| flows_to | motif_clusters#1 | expr@568 | analyzer.py:568 | observed |
| flows_to | sig#3 | expr@568 | analyzer.py:568 | observed |
| flows_to | members#1 | expr@568 | analyzer.py:568 | observed |
| flows_to | members#1 | expr@568 | analyzer.py:569 | observed |
| phi_input | members#1 | members#2 | analyzer.py:565 | strongly_inferred |
| phi_input | members:undefined | members#2 | analyzer.py:565 | unresolved |
| phi_input | sig#2 | sig#4 | analyzer.py:565 | strongly_inferred |
| phi_input | sig#3 | sig#4 | analyzer.py:565 | strongly_inferred |
| flows_to | nodes#1 | type_counts#1 | analyzer.py:572 | observed |
| flows_to | edges#1 | edge_counts#1 | analyzer.py:573 | observed |
| flows_to | findings#1 | category_counts#1 | analyzer.py:574 | observed |
| flows_to | findings#1 | severity_counts#1 | analyzer.py:575 | observed |
| flows_to | files#1 | metrics#1 | analyzer.py:577 | observed |
| flows_to | nodes#1 | metrics#1 | analyzer.py:577 | observed |
| flows_to | edges#1 | metrics#1 | analyzer.py:577 | observed |
| flows_to | type_counts#1 | metrics#1 | analyzer.py:578 | observed |
| flows_to | edge_counts#1 | metrics#1 | analyzer.py:578 | observed |
| flows_to | edges#1 | metrics#1 | analyzer.py:579 | observed |
| flows_to | edges#1 | metrics#1 | analyzer.py:580 | observed |
| flows_to | category_counts#1 | metrics#1 | analyzer.py:581 | observed |
| flows_to | severity_counts#1 | metrics#1 | analyzer.py:581 | observed |
| flows_to | motifs#1 | metrics#1 | analyzer.py:582 | observed |
| flows_to | motif_clusters#1 | metrics#1 | analyzer.py:582 | observed |
| flows_to | closure_summaries#1 | metrics#1 | analyzer.py:583 | observed |
| flows_to | closure_summaries#1 | metrics#1 | analyzer.py:584 | observed |
| flows_to | closure_summaries#1 | metrics#1 | analyzer.py:585 | observed |
| flows_to | closure_summaries#1 | metrics#1 | analyzer.py:586 | observed |
| flows_to | edges#1 | metrics#1 | analyzer.py:587 | observed |
| flows_to | edges#1 | metrics#1 | analyzer.py:588 | observed |
| flows_to | edges#1 | metrics#1 | analyzer.py:589 | observed |
| flows_to | edges#1 | metrics#1 | analyzer.py:590 | observed |
| flows_to | closure_summaries#1 | metrics#1 | analyzer.py:591 | observed |
| flows_to | closure_summaries#1 | metrics#1 | analyzer.py:592 | observed |
| flows_to | closure_summaries#1 | metrics#1 | analyzer.py:593 | observed |
| flows_to | warnings#1 | metrics#1 | analyzer.py:594 | observed |
| returns_value | root#1 | return@597 | analyzer.py:601 | observed |
| returns_value | files#1 | return@597 | analyzer.py:601 | observed |
| returns_value | source_integrity#1 | return@597 | analyzer.py:602 | observed |
| returns_value | nodes#1 | return@597 | analyzer.py:603 | observed |
| returns_value | edges#1 | return@597 | analyzer.py:603 | observed |
| returns_value | findings#1 | return@597 | analyzer.py:603 | observed |
| returns_value | motifs#1 | return@597 | analyzer.py:604 | observed |
| returns_value | motif_clusters#1 | return@597 | analyzer.py:604 | observed |
| returns_value | metrics#1 | return@597 | analyzer.py:604 | observed |
| returns_value | warnings#1 | return@597 | analyzer.py:604 | observed |
| flows_to | out#0 | expr@26 | cli.py:26 | observed |
| flows_to | graph#0 | expr@27 | cli.py:27 | observed |
| flows_to | out#0 | expr@27 | cli.py:27 | observed |
| flows_to | graph#0 | expr@28 | cli.py:28 | observed |
| flows_to | out#0 | expr@28 | cli.py:28 | observed |
| flows_to | graph#0 | expr@30 | cli.py:30 | observed |
| flows_to | out#0 | expr@30 | cli.py:30 | observed |
| flows_to | graph#0 | expr@31 | cli.py:31 | observed |
| flows_to | out#0 | expr@31 | cli.py:31 | observed |
| flows_to | graph#0 | expr@32 | cli.py:32 | observed |
| flows_to | out#0 | expr@32 | cli.py:32 | observed |
| flows_to | graph#0 | expr@33 | cli.py:33 | observed |
| flows_to | out#0 | expr@33 | cli.py:33 | observed |
| flows_to | p#1 | expr@41 | cli.py:41 | observed |
| flows_to | p#1 | expr@42 | cli.py:42 | observed |
| flows_to | p#1 | expr@43 | cli.py:43 | observed |
| flows_to | p#1 | expr@44 | cli.py:44 | observed |
| flows_to | p#1 | expr@45 | cli.py:45 | observed |
| flows_to | p#1 | expr@46 | cli.py:46 | observed |
| flows_to | p#1 | expr@47 | cli.py:47 | observed |
| flows_to | p#1 | expr@48 | cli.py:48 | observed |
| flows_to | p#1 | expr@49 | cli.py:49 | observed |
| flows_to | p#1 | expr@50 | cli.py:50 | observed |
| flows_to | p#1 | expr@51 | cli.py:51 | observed |
| flows_to | p#1 | expr@52 | cli.py:52 | observed |
| flows_to | p#1 | expr@53 | cli.py:53 | observed |
| flows_to | p#1 | expr@54 | cli.py:54 | observed |
| flows_to | p#1 | args#1 | cli.py:55 | observed |
| flows_to | argv#0 | args#1 | cli.py:55 | observed |
| flows_to | args#1 | root#1 | cli.py:56 | observed |
| flows_to | args#1 | out#1 | cli.py:57 | observed |
| guards | root#1 | branch | cli.py:58 | observed |
| flows_to | p#1 | expr@59 | cli.py:59 | observed |
| flows_to | root#1 | expr@59 | cli.py:59 | observed |
| guards | args#1 | branch | cli.py:61 | observed |
| flows_to | p#1 | expr@62 | cli.py:62 | observed |
| guards | args#1 | branch | cli.py:64 | observed |
| flows_to | args#1 | github_meta#1 | cli.py:66 | observed |
| flows_to | root#1 | meta#1 | cli.py:68 | observed |
| flows_to | args#1 | meta#1 | cli.py:68 | observed |
| flows_to | td#1 | meta#1 | cli.py:68 | observed |
| flows_to | meta#1 | base_root#1 | cli.py:69 | observed |
| flows_to | meta#1 | target_root#1 | cli.py:70 | observed |
| flows_to | base_root#1 | base_graph#1 | cli.py:71 | observed |
| flows_to | args#1 | base_graph#1 | cli.py:71 | observed |
| flows_to | target_root#1 | target_graph#1 | cli.py:72 | observed |
| flows_to | args#1 | target_graph#1 | cli.py:72 | observed |
| flows_to | base_graph#1 | expr@73 | cli.py:73 | observed |
| flows_to | out#1 | expr@73 | cli.py:73 | observed |
| flows_to | target_graph#1 | expr@74 | cli.py:74 | observed |
| flows_to | out#1 | expr@74 | cli.py:74 | observed |
| flows_to | base_graph#1 | diff#1 | cli.py:75 | observed |
| flows_to | target_graph#1 | diff#1 | cli.py:75 | observed |
| flows_to | args#1 | diff#1 | cli.py:75 | observed |
| flows_to | diff#1 | expr@76 | cli.py:76 | observed |
| flows_to | out#1 | expr@76 | cli.py:76 | observed |
| flows_to | diff#1 | expr@77 | cli.py:77 | observed |
| flows_to | out#1 | expr@77 | cli.py:77 | observed |
| flows_to | diff#1 | expr@78 | cli.py:78 | observed |
| flows_to | out#1 | expr@78 | cli.py:78 | observed |
| flows_to | diff#1 | review#1 | cli.py:79 | observed |
| flows_to | target_graph#1 | review#1 | cli.py:79 | observed |
| flows_to | meta#1 | review#1 | cli.py:79 | observed |
| flows_to | github_meta#1 | review#1 | cli.py:79 | observed |
| flows_to | args#1 | review#1 | cli.py:79 | observed |
| flows_to | review#1 | expr@80 | cli.py:80 | observed |
| flows_to | out#1 | expr@80 | cli.py:80 | observed |
| flows_to | review#1 | expr@81 | cli.py:81 | observed |
| flows_to | out#1 | expr@81 | cli.py:81 | observed |
| flows_to | args#1 | summary_path#1 | cli.py:82 | observed |
| guards | summary_path#1 | branch | cli.py:83 | observed |
| flows_to | summary_path#1 | sp#1 | cli.py:84 | observed |
| flows_to | sp#1 | expr@85 | cli.py:85 | observed |
| guards | sp#1 | with_scope | cli.py:86 | observed |
| flows_to | sp#1 | fh#1 | cli.py:86 | observed |
| flows_to | fh#1 | expr@87 | cli.py:87 | observed |
| flows_to | review#1 | expr@87 | cli.py:87 | observed |
| phi_input | fh#1 | fh#2 | cli.py:83 | strongly_inferred |
| phi_input | fh:undefined | fh#2 | cli.py:83 | unresolved |
| phi_input | sp#1 | sp#2 | cli.py:83 | strongly_inferred |
| phi_input | sp:undefined | sp#2 | cli.py:83 | unresolved |
| guards | args#1 | branch | cli.py:88 | observed |
| guards | review#1 | for_loop | cli.py:89 | observed |
| flows_to | review#1 | cmd#1 | cli.py:89 | observed |
| flows_to | cmd#1 | expr@90 | cli.py:90 | observed |
| phi_input | cmd#1 | cmd#2 | cli.py:89 | strongly_inferred |
| phi_input | cmd:undefined | cmd#2 | cli.py:89 | unresolved |
| phi_input | cmd#2 | cmd#3 | cli.py:88 | strongly_inferred |
| phi_input | cmd:undefined | cmd#3 | cli.py:88 | unresolved |
| flows_to | meta#1 | expr@92 | cli.py:92 | observed |
| flows_to | args#1 | expr@92 | cli.py:92 | observed |
| flows_to | meta#1 | expr@93 | cli.py:93 | observed |
| flows_to | args#1 | expr@93 | cli.py:93 | observed |
| flows_to | meta#1 | expr@94 | cli.py:94 | observed |
| flows_to | diff#1 | expr@95 | cli.py:95 | observed |
| flows_to | review#1 | expr@96 | cli.py:96 | observed |
| flows_to | out#1 | expr@97 | cli.py:97 | observed |
| guards | args#1 | branch | cli.py:98 | observed |
| guards | review#1 | branch | cli.py:98 | observed |
| flows_to | p#1 | expr@102 | cli.py:102 | observed |
| flows_to | exc#1 | expr@102 | cli.py:102 | observed |
| phi_input | base_graph#1 | base_graph#2 | cli.py:65 | strongly_inferred |
| phi_input | base_graph:undefined | base_graph#2 | cli.py:65 | unresolved |
| phi_input | base_root#1 | base_root#2 | cli.py:65 | strongly_inferred |
| phi_input | base_root:undefined | base_root#2 | cli.py:65 | unresolved |
| phi_input | cmd#3 | cmd#4 | cli.py:65 | strongly_inferred |
| phi_input | cmd:undefined | cmd#4 | cli.py:65 | unresolved |
| phi_input | diff#1 | diff#2 | cli.py:65 | strongly_inferred |
| phi_input | diff:undefined | diff#2 | cli.py:65 | unresolved |
| phi_input | exc#1 | exc#2 | cli.py:65 | strongly_inferred |
| phi_input | exc:undefined | exc#2 | cli.py:65 | unresolved |
| phi_input | fh#2 | fh#3 | cli.py:65 | strongly_inferred |
| phi_input | fh:undefined | fh#3 | cli.py:65 | unresolved |
| phi_input | github_meta#1 | github_meta#2 | cli.py:65 | strongly_inferred |
| phi_input | github_meta:undefined | github_meta#2 | cli.py:65 | unresolved |
| phi_input | meta#1 | meta#2 | cli.py:65 | strongly_inferred |
| phi_input | meta:undefined | meta#2 | cli.py:65 | unresolved |
| phi_input | review#1 | review#2 | cli.py:65 | strongly_inferred |
| phi_input | review:undefined | review#2 | cli.py:65 | unresolved |
| phi_input | sp#2 | sp#3 | cli.py:65 | strongly_inferred |
| phi_input | sp:undefined | sp#3 | cli.py:65 | unresolved |
| phi_input | summary_path#1 | summary_path#2 | cli.py:65 | strongly_inferred |
| phi_input | summary_path:undefined | summary_path#2 | cli.py:65 | unresolved |
| phi_input | target_graph#1 | target_graph#2 | cli.py:65 | strongly_inferred |
| phi_input | target_graph:undefined | target_graph#2 | cli.py:65 | unresolved |
| phi_input | target_root#1 | target_root#2 | cli.py:65 | strongly_inferred |
| phi_input | target_root:undefined | target_root#2 | cli.py:65 | unresolved |
| phi_input | td#1 | td#2 | cli.py:65 | strongly_inferred |
| phi_input | td:undefined | td#2 | cli.py:65 | unresolved |
| phi_input | base_graph#2 | base_graph#3 | cli.py:64 | strongly_inferred |
| phi_input | base_graph:undefined | base_graph#3 | cli.py:64 | unresolved |
| phi_input | base_root#2 | base_root#3 | cli.py:64 | strongly_inferred |
| phi_input | base_root:undefined | base_root#3 | cli.py:64 | unresolved |
| phi_input | cmd#4 | cmd#5 | cli.py:64 | strongly_inferred |
| phi_input | cmd:undefined | cmd#5 | cli.py:64 | unresolved |
| phi_input | diff#2 | diff#3 | cli.py:64 | strongly_inferred |
| phi_input | diff:undefined | diff#3 | cli.py:64 | unresolved |
| phi_input | exc#2 | exc#3 | cli.py:64 | strongly_inferred |
| phi_input | exc:undefined | exc#3 | cli.py:64 | unresolved |
| phi_input | fh#3 | fh#4 | cli.py:64 | strongly_inferred |
| phi_input | fh:undefined | fh#4 | cli.py:64 | unresolved |
| phi_input | github_meta#2 | github_meta#3 | cli.py:64 | strongly_inferred |
| phi_input | github_meta:undefined | github_meta#3 | cli.py:64 | unresolved |
| phi_input | meta#2 | meta#3 | cli.py:64 | strongly_inferred |
State regions
| Access | Function | Region | Kind | Evidence |
|---|---|---|---|---|
| reads_state | infer_effect | analyzer:global:EFFECT_PATTERNS[] | module_global_container | analyzer.py:33 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.file_rel | object_field | analyzer.py:123 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.owner | object_field | analyzer.py:124 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.calls | object_field | analyzer.py:125 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.controls | object_field | analyzer.py:126 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.effects | object_field | analyzer.py:127 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.state_writes | object_field | analyzer.py:128 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.state_reads | object_field | analyzer.py:129 |
| writes_state | FunctionScanner.__init__ | analyzer:FunctionScanner:self.issues | object_field | analyzer.py:130 |
| reads_state | FunctionScanner._control | analyzer:FunctionScanner:self.controls | object_field | analyzer.py:133 |
| reads_state | FunctionScanner.visit_Try | analyzer:FunctionScanner:self.controls | object_field | analyzer.py:145 |
| reads_state | FunctionScanner.visit_Try | analyzer:FunctionScanner:self.issues | object_field | analyzer.py:148 |
| reads_state | FunctionScanner.visit_Try | analyzer:FunctionScanner:self.issues | object_field | analyzer.py:151 |
| reads_state | FunctionScanner.visit_Call | analyzer:FunctionScanner:self.calls | object_field | analyzer.py:157 |
| reads_state | FunctionScanner.visit_Call | analyzer:FunctionScanner:self.effects | object_field | analyzer.py:160 |
| reads_state | FunctionScanner.visit_Attribute | analyzer:FunctionScanner:self.state_reads | object_field | analyzer.py:166 |
| reads_state | FunctionScanner.visit_Assign | analyzer:FunctionScanner:self.state_writes | object_field | analyzer.py:172 |
| reads_state | FunctionScanner.visit_AnnAssign | analyzer:FunctionScanner:self.state_writes | object_field | analyzer.py:177 |
| reads_state | FunctionScanner.visit_AugAssign | analyzer:FunctionScanner:self.state_writes | object_field | analyzer.py:182 |
| writes_state | ScopeFacts.__init__ | dataflow:ScopeFacts:self.assigned | object_field | dataflow.py:43 |
| writes_state | ScopeFacts.__init__ | dataflow:ScopeFacts:self.globals | object_field | dataflow.py:44 |
| writes_state | ScopeFacts.__init__ | dataflow:ScopeFacts:self.nonlocals | object_field | dataflow.py:45 |
| reads_state | ScopeFacts.visit_Global | dataflow:ScopeFacts:self.globals | object_field | dataflow.py:48 |
| reads_state | ScopeFacts.visit_Nonlocal | dataflow:ScopeFacts:self.nonlocals | object_field | dataflow.py:51 |
| reads_state | ScopeFacts._store_target | dataflow:ScopeFacts:self.assigned | object_field | dataflow.py:54 |
| reads_state | ScopeFacts.visit_ExceptHandler | dataflow:ScopeFacts:self.assigned | object_field | dataflow.py:90 |
| reads_state | ScopeFacts.visit_FunctionDef | dataflow:ScopeFacts:self.assigned | object_field | dataflow.py:100 |
| reads_state | ScopeFacts.visit_ClassDef | dataflow:ScopeFacts:self.assigned | object_field | dataflow.py:105 |
| writes_state | LoadNameCollector.__init__ | dataflow:LoadNameCollector:self.names | object_field | dataflow.py:124 |
| writes_state | LoadNameCollector.__init__ | dataflow:LoadNameCollector:self.bound_stack | object_field | dataflow.py:125 |
| reads_state | LoadNameCollector.bound | dataflow:LoadNameCollector:self.bound_stack | object_field | dataflow.py:130 |
| reads_state | LoadNameCollector.visit_Name | dataflow:LoadNameCollector:self.bound | object_field | dataflow.py:135 |
| reads_state | LoadNameCollector.visit_Name | dataflow:LoadNameCollector:self.names | object_field | dataflow.py:136 |
| reads_state | LoadNameCollector.visit_Lambda | dataflow:LoadNameCollector:self.bound_stack | object_field | dataflow.py:146 |
| reads_state | LoadNameCollector.visit_Lambda | dataflow:LoadNameCollector:self.bound_stack | object_field | dataflow.py:148 |
| reads_state | LoadNameCollector._visit_comp | dataflow:LoadNameCollector:self.bound_stack | object_field | dataflow.py:151 |
| reads_state | LoadNameCollector._visit_comp | dataflow:LoadNameCollector:self.bound_stack | object_field | dataflow.py:159 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self.class_name | object_field | dataflow.py:221 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:222 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self.module_globals | object_field | dataflow.py:223 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self.params | object_field | dataflow.py:224 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self.local_names | object_field | dataflow.py:225 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self.globals_decl | object_field | dataflow.py:226 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self.accesses | object_field | dataflow.py:227 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self._seen | object_field | dataflow.py:228 |
| writes_state | StateAccessCollector.__init__ | dataflow:StateAccessCollector:self._skip_attr_nodes | object_field | dataflow.py:229 |
| reads_state | StateAccessCollector.add | dataflow:StateAccessCollector:self._seen | object_field | dataflow.py:233 |
| reads_state | StateAccessCollector.add | dataflow:StateAccessCollector:self._seen | object_field | dataflow.py:234 |
| reads_state | StateAccessCollector.add | dataflow:StateAccessCollector:self.accesses | object_field | dataflow.py:235 |
| reads_state | StateAccessCollector._field_region | dataflow:StateAccessCollector:self.class_name | object_field | dataflow.py:243 |
| reads_state | StateAccessCollector._field_region | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:244 |
| reads_state | StateAccessCollector._field_region | dataflow:StateAccessCollector:self.class_name | object_field | dataflow.py:246 |
| reads_state | StateAccessCollector._field_region | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:247 |
| reads_state | StateAccessCollector.visit_Call | dataflow:StateAccessCollector:self._skip_attr_nodes | object_field | dataflow.py:260 |
| reads_state | StateAccessCollector.visit_Attribute | dataflow:StateAccessCollector:self._skip_attr_nodes | object_field | dataflow.py:269 |
| reads_state | StateAccessCollector.visit_Subscript | dataflow:StateAccessCollector:self.params | object_field | dataflow.py:286 |
| reads_state | StateAccessCollector.visit_Subscript | dataflow:StateAccessCollector:self.module_globals | object_field | dataflow.py:288 |
| reads_state | StateAccessCollector.visit_Subscript | dataflow:StateAccessCollector:self.globals_decl | object_field | dataflow.py:288 |
| reads_state | StateAccessCollector.visit_Subscript | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:289 |
| reads_state | StateAccessCollector.visit_Name | dataflow:StateAccessCollector:self.globals_decl | object_field | dataflow.py:294 |
| reads_state | StateAccessCollector.visit_Name | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:296 |
| reads_state | StateAccessCollector.visit_Name | dataflow:StateAccessCollector:self.module_globals | object_field | dataflow.py:297 |
| reads_state | StateAccessCollector.visit_Name | dataflow:StateAccessCollector:self.local_names | object_field | dataflow.py:297 |
| reads_state | StateAccessCollector.visit_Name | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:299 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.globals_decl | object_field | dataflow.py:306 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.module_globals | object_field | dataflow.py:306 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.local_names | object_field | dataflow.py:306 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:307 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.params | object_field | dataflow.py:324 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.module_globals | object_field | dataflow.py:327 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.globals_decl | object_field | dataflow.py:327 |
| reads_state | StateAccessCollector.visit_AugAssign | dataflow:StateAccessCollector:self.module | object_field | dataflow.py:328 |
| reads_state | block_definitely_terminates | param:stmts[] | parameter_container | dataflow.py:387 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.fn | object_field | dataflow.py:411 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:412 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:413 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.owner_id | object_field | dataflow.py:414 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.source_hash | object_field | dataflow.py:415 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.module | object_field | dataflow.py:416 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.class_name | object_field | dataflow.py:417 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:418 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.edges | object_field | dataflow.py:419 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.findings | object_field | dataflow.py:420 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.version | object_field | dataflow.py:421 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.params | object_field | dataflow.py:422 |
| reads_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.params | object_field | dataflow.py:424 |
| reads_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.params | object_field | dataflow.py:426 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.globals_decl | object_field | dataflow.py:430 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.nonlocals_decl | object_field | dataflow.py:431 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.local_names | object_field | dataflow.py:432 |
| reads_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.params | object_field | dataflow.py:432 |
| reads_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.globals_decl | object_field | dataflow.py:432 |
| reads_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.nonlocals_decl | object_field | dataflow.py:432 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.module_globals | object_field | dataflow.py:433 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.env | object_field | dataflow.py:434 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.state_accesses | object_field | dataflow.py:435 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.phi_nodes | object_field | dataflow.py:436 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.alias_edges | object_field | dataflow.py:437 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.explicit_raises | object_field | dataflow.py:438 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.handlers | object_field | dataflow.py:439 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self.unresolved_local_uses | object_field | dataflow.py:440 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self._undefined_node_by_name | object_field | dataflow.py:441 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self._handler_nodes | object_field | dataflow.py:442 |
| writes_state | FunctionDataflowBuilder.__init__ | dataflow:FunctionDataflowBuilder:self._undefined_findings_seen | object_field | dataflow.py:443 |
| reads_state | FunctionDataflowBuilder._ev | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:448 |
| reads_state | FunctionDataflowBuilder._ev | dataflow:FunctionDataflowBuilder:self.source_hash | object_field | dataflow.py:448 |
| reads_state | FunctionDataflowBuilder._add_edge | dataflow:FunctionDataflowBuilder:self.edges | object_field | dataflow.py:451 |
| reads_state | FunctionDataflowBuilder._add_edge | dataflow:FunctionDataflowBuilder:self.edges | object_field | dataflow.py:452 |
| reads_state | FunctionDataflowBuilder._init_params | dataflow:FunctionDataflowBuilder:self.params | object_field | dataflow.py:455 |
| reads_state | FunctionDataflowBuilder._init_params | dataflow:FunctionDataflowBuilder:self.fn | object_field | dataflow.py:456 |
| writes_state | FunctionDataflowBuilder._init_params | dataflow:FunctionDataflowBuilder:self.env[] | state_container | dataflow.py:457 |
| reads_state | FunctionDataflowBuilder._init_params | dataflow:FunctionDataflowBuilder:self.env | object_field | dataflow.py:457 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.version[] | state_container | dataflow.py:461 |
| writes_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.version[] | state_container | dataflow.py:461 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.version[] | state_container | dataflow.py:462 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.version | object_field | dataflow.py:462 |
| writes_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.version[] | state_container | dataflow.py:465 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.version | object_field | dataflow.py:465 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.version[] | state_container | dataflow.py:465 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:466 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:466 |
| writes_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.nodes[] | state_container | dataflow.py:467 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:467 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:471 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:472 |
| reads_state | FunctionDataflowBuilder._new_value | dataflow:FunctionDataflowBuilder:self.owner_id | object_field | dataflow.py:481 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self._undefined_node_by_name | object_field | dataflow.py:485 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self._undefined_node_by_name[] | state_container | dataflow.py:486 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self._undefined_node_by_name | object_field | dataflow.py:486 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:487 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:487 |
| writes_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self.nodes[] | state_container | dataflow.py:488 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:488 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:492 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:493 |
| writes_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self._undefined_node_by_name[] | state_container | dataflow.py:499 |
| reads_state | FunctionDataflowBuilder._undefined | dataflow:FunctionDataflowBuilder:self._undefined_node_by_name | object_field | dataflow.py:499 |
| reads_state | FunctionDataflowBuilder._emit_undefined_finding | dataflow:FunctionDataflowBuilder:self._undefined_findings_seen | object_field | dataflow.py:504 |
| reads_state | FunctionDataflowBuilder._emit_undefined_finding | dataflow:FunctionDataflowBuilder:self._undefined_findings_seen | object_field | dataflow.py:506 |
| reads_state | FunctionDataflowBuilder._emit_undefined_finding | dataflow:FunctionDataflowBuilder:self.findings | object_field | dataflow.py:507 |
| reads_state | FunctionDataflowBuilder._emit_undefined_finding | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:508 |
| reads_state | FunctionDataflowBuilder._emit_undefined_finding | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:508 |
| reads_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.env | object_field | dataflow.py:513 |
| reads_state | FunctionDataflowBuilder._record_use_name | param:env[] | parameter_container | dataflow.py:515 |
| reads_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.unresolved_local_uses | object_field | dataflow.py:518 |
| writes_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.unresolved_local_uses | object_field | dataflow.py:518 |
| reads_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.local_names | object_field | dataflow.py:525 |
| reads_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.globals_decl | object_field | dataflow.py:525 |
| reads_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.nonlocals_decl | object_field | dataflow.py:525 |
| reads_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.unresolved_local_uses | object_field | dataflow.py:528 |
| writes_state | FunctionDataflowBuilder._record_use_name | dataflow:FunctionDataflowBuilder:self.unresolved_local_uses | object_field | dataflow.py:528 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.class_name | object_field | dataflow.py:546 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.module | object_field | dataflow.py:547 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.module_globals | object_field | dataflow.py:548 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.params | object_field | dataflow.py:549 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.local_names | object_field | dataflow.py:550 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.globals_decl | object_field | dataflow.py:551 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.fn | object_field | dataflow.py:553 |
| writes_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.state_accesses | object_field | dataflow.py:555 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.state_accesses | object_field | dataflow.py:556 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:559 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.owner_id | object_field | dataflow.py:563 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:566 |
| reads_state | FunctionDataflowBuilder._collect_state_accesses | dataflow:FunctionDataflowBuilder:self.owner_id | object_field | dataflow.py:575 |
| reads_state | FunctionDataflowBuilder._define_target | dataflow:FunctionDataflowBuilder:self.globals_decl | object_field | dataflow.py:580 |
| reads_state | FunctionDataflowBuilder._define_target | dataflow:FunctionDataflowBuilder:self.nonlocals_decl | object_field | dataflow.py:580 |
| reads_state | FunctionDataflowBuilder._define_target | param:env[] | parameter_container | dataflow.py:585 |
| reads_state | FunctionDataflowBuilder._define_target | dataflow:FunctionDataflowBuilder:self.alias_edges | object_field | dataflow.py:586 |
| writes_state | FunctionDataflowBuilder._define_target | dataflow:FunctionDataflowBuilder:self.alias_edges | object_field | dataflow.py:586 |
| reads_state | FunctionDataflowBuilder._merge_envs | dataflow:FunctionDataflowBuilder:self.phi_nodes | object_field | dataflow.py:601 |
| writes_state | FunctionDataflowBuilder._merge_envs | dataflow:FunctionDataflowBuilder:self.phi_nodes | object_field | dataflow.py:601 |
| reads_state | FunctionDataflowBuilder._make_sink | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:611 |
| reads_state | FunctionDataflowBuilder._make_sink | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:611 |
| writes_state | FunctionDataflowBuilder._make_sink | dataflow:FunctionDataflowBuilder:self.nodes[] | state_container | dataflow.py:612 |
| reads_state | FunctionDataflowBuilder._make_sink | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:612 |
| reads_state | FunctionDataflowBuilder._make_sink | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:617 |
| reads_state | FunctionDataflowBuilder._make_sink | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:618 |
| reads_state | FunctionDataflowBuilder._make_sink | dataflow:FunctionDataflowBuilder:self.owner_id | object_field | dataflow.py:623 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.globals_decl | object_field | dataflow.py:648 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.nonlocals_decl | object_field | dataflow.py:648 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:665 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:665 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:682 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:682 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:695 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:695 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:707 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:707 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:739 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:739 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:744 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:744 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.local_names | object_field | dataflow.py:747 |
| writes_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.nodes[] | state_container | dataflow.py:748 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:748 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.rel | object_field | dataflow.py:748 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.qname | object_field | dataflow.py:748 |
| reads_state | FunctionDataflowBuilder.process_stmt | dataflow:FunctionDataflowBuilder:self.owner_id | object_field | dataflow.py:749 |
| reads_state | FunctionDataflowBuilder._build_exception_flow | dataflow:FunctionDataflowBuilder:self.fn | object_field | dataflow.py:835 |
| writes_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.env | object_field | dataflow.py:838 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.fn | object_field | dataflow.py:838 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.env | object_field | dataflow.py:838 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.state_accesses | object_field | dataflow.py:840 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.state_accesses | object_field | dataflow.py:841 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:843 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.edges | object_field | dataflow.py:844 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.findings | object_field | dataflow.py:845 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.nodes | object_field | dataflow.py:847 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.phi_nodes | object_field | dataflow.py:848 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.edges | object_field | dataflow.py:849 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.alias_edges | object_field | dataflow.py:850 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.state_accesses | object_field | dataflow.py:854 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.handlers | object_field | dataflow.py:856 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.explicit_raises | object_field | dataflow.py:857 |
| reads_state | FunctionDataflowBuilder.build | dataflow:FunctionDataflowBuilder:self.unresolved_local_uses | object_field | dataflow.py:858 |
| reads_state | write_semantic_diff_markdown | param:diff[] | parameter_container | diff_report.py:18 |
| reads_state | write_semantic_diff_markdown | param:diff[] | parameter_container | diff_report.py:50 |
| reads_state | write_semantic_diff_markdown | param:diff[] | parameter_container | diff_report.py:53 |
| reads_state | write_semantic_diff_html | param:diff[] | parameter_container | diff_report.py:70 |
| reads_state | write_semantic_diff_html | param:diff[] | parameter_container | diff_report.py:89 |
| reads_state | write_semantic_diff_html | param:diff[] | parameter_container | diff_report.py:93 |
| reads_state | build_impact_index | param:graph[] | parameter_container | impact.py:35 |
| reads_state | build_impact_index | param:graph[] | parameter_container | impact.py:36 |
| reads_state | resolve_impact_target | param:index[] | parameter_container | impact.py:185 |
| reads_state | resolve_impact_target | param:index[] | parameter_container | impact.py:188 |
| reads_state | resolve_impact_target | param:index[] | parameter_container | impact.py:192 |
| reads_state | analyze_impact | param:graph[] | parameter_container | impact.py:223 |
| reads_state | analyze_impact | param:index[] | parameter_container | impact.py:229 |
| reads_state | analyze_impact | param:index[] | parameter_container | impact.py:230 |
| reads_state | top_impact_targets | param:index[] | parameter_container | impact.py:367 |
| reads_state | _aggregate_impact | param:seed_ids[] | parameter_container | pr_review.py:59 |
| reads_state | review_markdown | param:review[] | parameter_container | pr_review.py:114 |
| reads_state | review_markdown | param:review[] | parameter_container | pr_review.py:115 |
| reads_state | review_markdown | param:review[] | parameter_container | pr_review.py:121 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:25 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:26 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:27 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:28 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:35 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:36 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:39 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:40 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:41 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:42 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:45 |
| reads_state | write_json_outputs | param:graph[] | parameter_container | report.py:46 |
| reads_state | write_graphml | param:graph[] | parameter_container | report.py:55 |
| reads_state | write_graphml | param:graph[] | parameter_container | report.py:62 |
| reads_state | _overview_graph | param:graph[] | parameter_container | report.py:73 |
| reads_state | _overview_graph | param:graph[] | parameter_container | report.py:74 |
| reads_state | _svg_graph | param:graph[] | parameter_container | report.py:118 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:122 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:123 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:130 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:131 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:132 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:133 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:134 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:136 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:138 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:140 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:143 |
| reads_state | write_html | param:graph[] | parameter_container | report.py:176 |
| reads_state | write_markdown_report | param:graph[] | parameter_container | report.py:184 |
| reads_state | write_markdown_report | param:graph[] | parameter_container | report.py:185 |
| reads_state | write_markdown_report | param:graph[] | parameter_container | report.py:188 |
Module binding reads
| Function | Binding | Evidence |
|---|---|---|
| infer_effect | analyzer:binding:EFFECT_PATTERNS | analyzer.py:33 |
| iter_python_files | analyzer:binding:SKIP_DIRS | analyzer.py:105 |
| analyze | analyzer:binding:SCHEMA | analyzer.py:598 |
| analyze | analyzer:binding:ANALYZER_VERSION | analyzer.py:599 |
| compare_metadata | git_adapter:binding:GIT_ADAPTER_VERSION | git_adapter.py:104 |
| build_impact_index | impact:binding:ENTITY_TYPES | impact.py:56 |
| build_impact_index | impact:binding:ENTITY_TYPES | impact.py:71 |
| build_impact_index | impact:binding:DATA_EDGE_TYPES | impact.py:73 |
| build_impact_index | impact:binding:ENTITY_TYPES | impact.py:108 |
| analyze_impact | impact:binding:DATA_NODE_TYPES | impact.py:277 |
| build_pr_review | pr_review:binding:PR_REVIEW_VERSION | pr_review.py:100 |
| build_project_summary | product_ui:binding:PRODUCT_VERSION | product_ui.py:40 |
| build_review_summary | product_ui:binding:PRODUCT_VERSION | product_ui.py:160 |
| _entity_map | semantic_diff:binding:ENTITY_TYPES | semantic_diff.py:91 |
| _impact_changes | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:146 |
| _rename_candidates | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:187 |
| _rename_candidates | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:190 |
| compare_graphs | semantic_diff:binding:RELATION_TYPES | semantic_diff.py:229 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:239 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:241 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:245 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:247 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:257 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:271 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:276 |
| compare_graphs | semantic_diff:binding:FUNCTION_TYPES | semantic_diff.py:277 |
| compare_graphs | semantic_diff:binding:DIFF_VERSION | semantic_diff.py:350 |
Explicit exception flow
| Relation | Source | Target | Evidence | Status |
|---|---|---|---|---|
| raises | _git | raise GitAdapterError | git_adapter.py:21 | observed |
| exception_flow | raise GitAdapterError | uncaught:GitAdapterError | git_adapter.py:21 | unresolved |
| raises | _git | raise GitAdapterError | git_adapter.py:24 | observed |
| exception_flow | raise GitAdapterError | uncaught:GitAdapterError | git_adapter.py:24 | unresolved |
| raises | ensure_git_repo | raise GitAdapterError | git_adapter.py:29 | observed |
| exception_flow | raise GitAdapterError | uncaught:GitAdapterError | git_adapter.py:29 | unresolved |
| raises | _safe_member_path | raise GitAdapterError | git_adapter.py:53 | observed |
| exception_flow | raise GitAdapterError | uncaught:GitAdapterError | git_adapter.py:53 | unresolved |
| raises | _safe_member_path | raise GitAdapterError | git_adapter.py:57 | observed |
| exception_flow | raise GitAdapterError | uncaught:GitAdapterError | git_adapter.py:57 | unresolved |
| raises | compare_metadata | raise GitAdapterError | git_adapter.py:101 | observed |
| exception_flow | raise GitAdapterError | uncaught:GitAdapterError | git_adapter.py:101 | unresolved |
| raises | parse_github_event | raise GitAdapterError | git_adapter.py:126 | observed |
| exception_flow | raise GitAdapterError | uncaught:GitAdapterError | git_adapter.py:126 | unresolved |
| raises | resolve_impact_target | raise KeyError | impact.py:194 | observed |
| exception_flow | raise KeyError | uncaught:KeyError | impact.py:194 | unresolved |
| raises | resolve_impact_target | raise ValueError | impact.py:198 | observed |
| exception_flow | raise ValueError | uncaught:ValueError | impact.py:198 | unresolved |
Findings
| Severity | Class | Type | Location | Symbol | Evidence statement |
|---|---|---|---|---|---|
| info | hotspot | boundary_heavy | analyzer.py: | infer_effect | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | analyzer.py: | FunctionScanner.visit_Try | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | analyzer.py: | block_unreachable | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | analyzer.py: | normalized_function_shape | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | analyzer.py: | motif_signature | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | analyzer.py: | coarse_motif_signature | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | analyzer.py: | infer_structural_motifs | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | analyzer.py: | analyze | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | cli.py: | main | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | dataflow.py: | StateAccessCollector.visit_Call | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | dataflow.py: | stmt_definitely_terminates | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | dataflow.py: | FunctionDataflowBuilder._merge_envs | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | dataflow.py: | FunctionDataflowBuilder.process_stmt | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | dataflow.py: | FunctionDataflowBuilder._build_exception_flow | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | dataflow.py: | FunctionDataflowBuilder.build | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | diff_report.py: | write_semantic_diff_markdown | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | diff_report.py: | write_semantic_diff_html | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | git_adapter.py: | archive_ref | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | git_adapter.py: | changed_files | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | git_adapter.py: | parse_github_event | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | impact.py: | build_impact_index | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | impact.py: | resolve_impact_target | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | impact.py: | analyze_impact | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | pr_review.py: | _changed_function_seeds | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | pr_review.py: | _aggregate_impact | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | pr_review.py: | build_pr_review | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | pr_review.py: | review_markdown | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | pr_review.py: | annotation_commands | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | pr_review.py: | write_pr_review_html | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | product_ui.py: | build_project_summary | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | product_ui.py: | _finding_rows | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | product_ui.py: | write_project_html | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | product_ui.py: | build_review_summary | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | product_ui.py: | write_review_html | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | report.py: | write_json_outputs | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | report.py: | write_graphml | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | report.py: | _overview_graph | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | report.py: | _svg_graph | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | report.py: | write_html | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | report.py: | write_markdown_report | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _node_key | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _relation_key | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _relation_public | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _finding_key | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _exception_signatures | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _impact_breadth | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _impact_changes | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | _rename_candidates | Many calls cross the resolved graph boundary. |
| info | hotspot | boundary_heavy | semantic_diff.py: | compare_graphs | Many calls cross the resolved graph boundary. |
| info | anomaly | duplicate_function_shape | : | Functions normalize to the same AST shape. | |
| info | anomaly | duplicate_function_shape | : | Functions normalize to the same AST shape. | |
| info | anomaly | duplicate_function_shape | : | Functions normalize to the same AST shape. | |
| info | anomaly | duplicate_function_shape | : | Functions normalize to the same AST shape. | |
| info | anomaly | duplicate_function_shape | : | Functions normalize to the same AST shape. | |
| info | anomaly | duplicate_function_shape | : | Functions normalize to the same AST shape. | |
| info | hotspot | high_call_fanout | analyzer.py: | infer_effect | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | node_text | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | FunctionScanner.visit_Try | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | block_unreachable | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | normalized_function_shape | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | motif_signature | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | coarse_motif_signature | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | infer_structural_motifs | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | analyzer.py: | analyze | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | cli.py: | main | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | LoadNameCollector._visit_comp | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | StateAccessCollector.visit_Call | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | StateAccessCollector.visit_Subscript | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | StateAccessCollector.visit_AugAssign | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | stmt_definitely_terminates | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | FunctionDataflowBuilder.__init__ | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | FunctionDataflowBuilder._collect_state_accesses | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | FunctionDataflowBuilder._merge_envs | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | FunctionDataflowBuilder.process_stmt | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | FunctionDataflowBuilder._build_exception_flow | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | dataflow.py: | FunctionDataflowBuilder.build | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | diff_report.py: | write_semantic_diff_markdown | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | diff_report.py: | write_semantic_diff_html | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | git_adapter.py: | _git | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | git_adapter.py: | ensure_git_repo | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | git_adapter.py: | _safe_member_path | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | git_adapter.py: | archive_ref | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | git_adapter.py: | changed_files | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | git_adapter.py: | compare_metadata | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | git_adapter.py: | parse_github_event | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | impact.py: | build_impact_index | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | impact.py: | resolve_impact_target | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | impact.py: | analyze_impact | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | pr_review.py: | _changed_function_seeds | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | pr_review.py: | _aggregate_impact | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | pr_review.py: | build_pr_review | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | pr_review.py: | review_markdown | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | pr_review.py: | annotation_commands | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | pr_review.py: | write_pr_review_outputs | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | pr_review.py: | write_pr_review_html | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | product_ui.py: | build_project_summary | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | product_ui.py: | _finding_rows | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | product_ui.py: | write_project_html | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | product_ui.py: | build_review_summary | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | product_ui.py: | write_review_html | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | report.py: | write_json_outputs | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | report.py: | write_graphml | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | report.py: | _overview_graph | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | report.py: | _svg_graph | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | report.py: | write_html | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | report.py: | write_markdown_report | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _node_key | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _relation_key | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _relation_public | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _finding_key | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _exception_signatures | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _impact_breadth | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _impact_changes | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | _rename_candidates | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | high_call_fanout | semantic_diff.py: | compare_graphs | High static call fan-out; review as an orchestration/hotspot node. |
| info | hotspot | multi_writer_state | : | State region has three or more static writers; review coupling and mutation ownership. | |
| info | anomaly | static_call_cycle | : | Resolved local calls form a cycle; may be intentional recursion. | |
| info | anomaly | static_call_cycle | : | Resolved local calls form a cycle; may be intentional recursion. | |
| info | anomaly | static_call_cycle | : | Resolved local calls form a cycle; may be intentional recursion. | |
| info | anomaly | static_call_cycle | : | Resolved local calls form a cycle; may be intentional recursion. | |
| info | anomaly | static_call_cycle | : | Resolved local calls form a cycle; may be intentional recursion. | |
| info | anomaly | static_call_cycle | : | Resolved local calls form a cycle; may be intentional recursion. |
Deterministic motif candidates
| Kind | Path | Symbol | Confidence | Structural rule |
|---|---|---|---|---|
| boundary_orchestration | analyzer.py | FunctionScanner.visit_Try | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | analyze | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | block_unreachable | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | coarse_motif_signature | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | infer_effect | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | infer_structural_motifs | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | iter_python_files | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | motif_signature | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | node_text | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | normalized_function_shape | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | resolve_relative | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | analyzer.py | stable_id | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | cli.py | main | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | FunctionDataflowBuilder.__init__ | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | FunctionDataflowBuilder._build_exception_flow | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | FunctionDataflowBuilder._merge_envs | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | FunctionDataflowBuilder.build | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | FunctionDataflowBuilder.process_stmt | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | LoadNameCollector._visit_comp | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | LoadNameCollector.visit_Lambda | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | StateAccessCollector.visit_AugAssign | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | StateAccessCollector.visit_Call | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | StateAccessCollector.visit_Subscript | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | attr_chain | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | exception_name | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | handler_matches | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | stable_id | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | dataflow.py | stmt_definitely_terminates | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | diff_report.py | write_semantic_diff_html | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | diff_report.py | write_semantic_diff_markdown | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | git_adapter.py | _git | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | git_adapter.py | _safe_member_path | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | git_adapter.py | archive_ref | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | git_adapter.py | changed_files | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | git_adapter.py | commit_metadata | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | git_adapter.py | ensure_git_repo | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | git_adapter.py | parse_github_event | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | impact.py | _bfs_paths | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | impact.py | _is_test_path | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | impact.py | analyze_impact | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | impact.py | build_impact_index | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | impact.py | resolve_impact_target | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | _aggregate_impact | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | _changed_function_seeds | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | _find_target | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | annotation_commands | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | build_pr_review | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | review_markdown | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | write_pr_review_html | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | pr_review.py | write_pr_review_outputs | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | product_ui.py | _finding_rows | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | product_ui.py | _project_status | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | product_ui.py | build_project_summary | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | product_ui.py | build_review_summary | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | product_ui.py | write_project_html | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | product_ui.py | write_review_html | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | report.py | _overview_graph | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | report.py | _svg_graph | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | report.py | write_graphml | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | report.py | write_html | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | report.py | write_json_outputs | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | report.py | write_markdown_report | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _exception_signatures | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _finding_key | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _impact_breadth | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _impact_changes | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _motif_key | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _node_key | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _relation_key | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _relation_public | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | _rename_candidates | 0.72 | five or more unresolved/external calls |
| boundary_orchestration | semantic_diff.py | compare_graphs | 0.72 | five or more unresolved/external calls |
| orchestration_fanout | analyzer.py | analyze | 0.85 | five or more resolved local calls |
| orchestration_fanout | cli.py | _write_analysis | 0.85 | five or more resolved local calls |
| orchestration_fanout | cli.py | main | 0.85 | five or more resolved local calls |
| orchestration_fanout | dataflow.py | FunctionDataflowBuilder._build_exception_flow | 0.85 | five or more resolved local calls |
| orchestration_fanout | dataflow.py | FunctionDataflowBuilder._collect_state_accesses | 0.85 | five or more resolved local calls |
| orchestration_fanout | dataflow.py | FunctionDataflowBuilder._record_use_name | 0.85 | five or more resolved local calls |
| orchestration_fanout | dataflow.py | FunctionDataflowBuilder.process_stmt | 0.85 | five or more resolved local calls |
| orchestration_fanout | dataflow.py | StateAccessCollector.visit_AugAssign | 0.85 | five or more resolved local calls |
| orchestration_fanout | dataflow.py | StateAccessCollector.visit_Subscript | 0.85 | five or more resolved local calls |
| orchestration_fanout | dataflow.py | stmt_definitely_terminates | 0.85 | five or more resolved local calls |
| orchestration_fanout | diff_report.py | write_semantic_diff_html | 0.85 | five or more resolved local calls |
| orchestration_fanout | git_adapter.py | compare_metadata | 0.85 | five or more resolved local calls |
| orchestration_fanout | impact.py | analyze_impact | 0.85 | five or more resolved local calls |
| orchestration_fanout | pr_review.py | write_pr_review_html | 0.85 | five or more resolved local calls |
| orchestration_fanout | product_ui.py | _finding_rows | 0.85 | five or more resolved local calls |
| orchestration_fanout | product_ui.py | write_project_html | 0.85 | five or more resolved local calls |
| orchestration_fanout | product_ui.py | write_review_html | 0.85 | five or more resolved local calls |
| orchestration_fanout | report.py | _svg_graph | 0.85 | five or more resolved local calls |
| orchestration_fanout | report.py | write_html | 0.85 | five or more resolved local calls |
| orchestration_fanout | semantic_diff.py | _exception_signatures | 0.85 | five or more resolved local calls |
| orchestration_fanout | semantic_diff.py | _impact_changes | 0.85 | five or more resolved local calls |
| orchestration_fanout | semantic_diff.py | compare_graphs | 0.85 | five or more resolved local calls |
| read_modify_write | dataflow.py | FunctionDataflowBuilder.__init__ | 0.86 | same function reads and writes the same state target |
| read_modify_write | dataflow.py | FunctionDataflowBuilder._collect_state_accesses | 0.86 | same function reads and writes the same state target |
| read_modify_write | dataflow.py | FunctionDataflowBuilder._define_target | 0.86 | same function reads and writes the same state target |
| read_modify_write | dataflow.py | FunctionDataflowBuilder._merge_envs | 0.86 | same function reads and writes the same state target |
| read_modify_write | dataflow.py | FunctionDataflowBuilder._new_value | 0.86 | same function reads and writes the same state target |
| read_modify_write | dataflow.py | FunctionDataflowBuilder._record_use_name | 0.86 | same function reads and writes the same state target |
| read_modify_write | dataflow.py | FunctionDataflowBuilder._undefined | 0.86 | same function reads and writes the same state target |
| read_modify_write | dataflow.py | FunctionDataflowBuilder.build | 0.86 | same function reads and writes the same state target |
| resource_scope | cli.py | main | 0.92 | with/async-with establishes bounded resource scope |
| resource_scope | git_adapter.py | archive_ref | 0.92 | with/async-with establishes bounded resource scope |
| retry_candidate | analyzer.py | analyze | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | analyzer.py | iter_python_files | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | analyzer.py | normalized_function_shape | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | cli.py | main | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | dataflow.py | handler_matches | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | impact.py | top_impact_targets | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | pr_review.py | _aggregate_impact | 0.70 | loop plus exception handling is a retry-like structural candidate |
| retry_candidate | semantic_diff.py | _impact_changes | 0.70 | loop plus exception handling is a retry-like structural candidate |
Name-independent structural signature clusters
| Motif ID | Members | Identity basis |
|---|---|---|
| motif_coarse_10d26391059d | 2 | name-independent coarse structural feature signature |
| motif_coarse_1d063c7b37b2 | 5 | name-independent coarse structural feature signature |
| motif_coarse_3a2eb66bf0ac | 3 | name-independent coarse structural feature signature |
| motif_coarse_404687b09fc9 | 2 | name-independent coarse structural feature signature |
| motif_coarse_6498af11de89 | 6 | name-independent coarse structural feature signature |
| motif_coarse_662d65d73597 | 3 | name-independent coarse structural feature signature |
| motif_coarse_69581341d26f | 6 | name-independent coarse structural feature signature |
| motif_coarse_6b17282fe849 | 3 | name-independent coarse structural feature signature |
| motif_coarse_7a99543fed3f | 4 | name-independent coarse structural feature signature |
| motif_coarse_7bef0e8aaa95 | 2 | name-independent coarse structural feature signature |
| motif_coarse_7d036f941004 | 6 | name-independent coarse structural feature signature |
| motif_coarse_89f822006874 | 2 | name-independent coarse structural feature signature |
| motif_coarse_9f0831ec4b22 | 2 | name-independent coarse structural feature signature |
| motif_coarse_af2f0ae26158 | 2 | name-independent coarse structural feature signature |
| motif_coarse_b2feb91af8fa | 8 | name-independent coarse structural feature signature |
| motif_coarse_b42846908a33 | 2 | name-independent coarse structural feature signature |
| motif_coarse_b4a27ad8a6cb | 8 | name-independent coarse structural feature signature |
| motif_coarse_c03889665559 | 12 | name-independent coarse structural feature signature |
| motif_coarse_c10ceceefb4d | 5 | name-independent coarse structural feature signature |
| motif_coarse_c4a7b2976828 | 2 | name-independent coarse structural feature signature |
| motif_coarse_ce08f8f7d524 | 4 | name-independent coarse structural feature signature |
| motif_coarse_e3a6d82c57d0 | 10 | name-independent coarse structural feature signature |
| motif_coarse_ef5db5e5ba38 | 3 | name-independent coarse structural feature signature |
| motif_coarse_f373ee2a1d21 | 7 | name-independent coarse structural feature signature |
| motif_coarse_f4a86b4f0a93 | 5 | name-independent coarse structural feature signature |
| motif_coarse_fca123bd72d6 | 10 | name-independent coarse structural feature signature |
| motif_coarse_ff49519e01f1 | 7 | name-independent coarse structural feature signature |
Per-file SHA-256
| Path | Bytes | SHA-256 |
|---|---|---|
| __init__.py | 22 | 7080f58cb9c2fef8… |
| analyzer.py | 34470 | 8237800cc649a193… |
| cli.py | 8418 | 0e7bf5d5727ee702… |
| dataflow.py | 39188 | 60b2e9a2d349647c… |
| diff_report.py | 11137 | bfc6681847414620… |
| git_adapter.py | 6707 | cb14ef61b59ba4bb… |
| impact.py | 20500 | 3221edce2184d0bd… |
| pr_review.py | 14191 | b21a7ca5acb8c62d… |
| product_ui.py | 31072 | 87de53ceaa4937d9… |
| report.py | 31778 | 972fe6d54c02fbcc… |
| semantic_diff.py | 22721 | acb3a4d2a81f84aa… |
Epistemic contract
observed
- Python AST definitions
- imports
- call syntax
- control syntax
- source spans
- local file hashes
- SSA-like local definitions/uses
- self/cls/explicit-global state accesses
- module-binding reads
- explicit raise/except syntax
- definition-time Python name aliases
strongly_inferred
- local call target resolution
- parameter-container state regions
- effect hints
- branch/loop phi merges
- explicit exception catch matching
- structural motif candidates
unresolved
- runtime dispatch
- reflection
- native extension behavior
- external library semantics
- precise heap points-to beyond definition-time alias
- dynamic exception behavior from calls
- concurrency semantics