pyflow-analysis 0.1.0__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyflow_analysis-0.1.2/PKG-INFO +204 -0
- pyflow_analysis-0.1.2/README.md +152 -0
- pyflow_analysis-0.1.2/pyproject.toml +152 -0
- pyflow_analysis-0.1.2/src/pyflow/__init__.py +5 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/__init__.py +15 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/__init__.py +171 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/domain/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/domain/abstraction.py +1880 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/domain/points_to.py +781 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/domain/state.py +421 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/domain/summary.py +296 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/heap_analysis.py +287 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/model/__init__.py +41 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/model/locations.py +154 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/model/objects.py +110 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/model/policy.py +215 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/publication.py +57 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/semantics/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/semantics/effects.py +1190 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/semantics/intrinsics.py +931 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/__init__.py +5 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/bindings.py +230 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/calls.py +1671 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/classes.py +1041 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/collection_transfer.py +153 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/deferred.py +302 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/definitions.py +390 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/engine.py +1517 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/expression_access.py +409 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/expression_calls.py +199 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/expression_control.py +221 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/expression_protocols.py +196 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/expression_resolution.py +334 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/mutations.py +13 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/operations.py +17 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/state.py +87 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/value_materialization.py +363 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/flow_sensitive/transfer/write_transfer.py +236 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/__init__.py +45 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/__init__.py +127 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/logging.py +577 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/operation.py +1718 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/pointer_adapter.py +364 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/solver.py +594 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/state.py +804 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/value.py +848 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/analysis.py +88 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/class_hierarchy.py +88 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/closure.py +57 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/analysis.py +58 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/driver.py +38 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/liveness.py +33 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/reaching_definition.py +53 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/solver.py +225 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/defuse.py +44 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/__init__.py +13 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/__init__.py +121 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/analysis.py +276 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/builtin_api_handler.py +1976 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/call_binding.py +259 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/call_graph_analyzer.py +307 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/class_hierarchy.py +308 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/class_semantics.py +242 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/config.py +145 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/constraints.py +676 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/context.py +525 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/context_selector.py +344 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/dependency.py +69 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/events.py +31 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/heap_model.py +223 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/ir_translator.py +1339 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/libs/math.py +244 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/module_analysis.py +247 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/module_summary.py +197 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/object.py +781 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/pointer_flow_graph.py +334 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/points_to_set.py +310 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/__init__.py +33 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/attribute_semantics.py +845 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/base_resolution.py +336 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/compose_processor.py +90 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/container.py +175 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/generator.py +384 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/normal_call.py +1362 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/processor.py +72 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/super_resolve.py +209 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/pta_query_adapter.py +333 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/solver.py +2605 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/solver_interface.py +75 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/stable_key.py +58 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/state.py +1071 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/type_ref.py +86 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/type_universe.py +144 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/unknown_tracker.py +138 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/variable.py +140 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/scope/analysis.py +37 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/scope/closure.py +82 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/block_cfg.py +137 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/cfg.py +95 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/base.py +111 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/baseprocess.py +525 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/icfg_pre_transform.py +68 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/postprocessor.py +329 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/preprocessor.py +399 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/ir.py +358 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/three_address.py +1207 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/transform.py +26 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/call_graph/__init__.py +4 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/call_graph/call_edge.py +53 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/call_graph/call_graph.py +90 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/__init__.py +5 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/base_block.py +91 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/cfg.py +197 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/dump.py +24 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/edges.py +186 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/visualize.py +111 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/dominator_tree.py +136 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/graph.py +88 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/icfg/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/icfg/icfg.py +116 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/ir/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/ir/ir_statements.py +1660 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/ir/ir_visitor.py +21 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/abc.py +81 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/base64.py +62 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/contextlib.py +114 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/csv.py +165 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/dataclasses.py +205 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/datetime.py +192 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/email.py +270 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/enum.py +145 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/functools.py +91 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/hashlib.py +100 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/http.py +326 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/importlib.py +126 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/inspect.py +248 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/io.py +486 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/json.py +152 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/logging.py +193 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/math.py +244 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/mimetypes.py +119 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/operator.py +310 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/os.py +286 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/pathlib.py +203 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/pickle.py +152 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/random.py +125 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/shutil.py +118 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/tempfile.py +105 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/traceback.py +162 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/types.py +263 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/urllib/parse.py +319 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/warnings.py +90 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/weakref.py +272 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/common.py +74 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/persistent_rb_tree.py +366 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/temp_var_generator.py +65 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/toposort.py +64 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/var_collector.py +72 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/__init__.py +3 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/analysis_manager.py +145 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/class_hierarchy.py +64 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/config.py +115 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/import_manager.py +22 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/namespace.py +348 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/pipeline.py +184 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/scope_manager.py +162 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/_pythonstan/world/world.py +84 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/alias/kcfa/bridge.py +466 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/astcollector.py +258 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cache/incremental.py +216 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/__init__.py +74 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/ast_based.py +176 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_call_binding.py +510 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_call_targets.py +1222 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_expressions.py +1328 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_modules.py +303 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_semi_naive.py +350 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_solver.py +1061 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_state.py +804 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_statements.py +1428 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_symbols.py +683 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/_types.py +382 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/api.py +260 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/engine.py +734 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/constraint_based/model.py +315 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/publication.py +247 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/pycg_based.py +261 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/callgraph/pycg_mir.py +823 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cpa/__init__.py +19 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cpa/base.py +416 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cpa/constraintextractor.py +800 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cpa/constraints.py +1064 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cpa/engine.py +611 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cpa/publication.py +145 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/cpa/simpleimagebuilder.py +299 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/dump/dumpgraphs.py +103 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/dump/dumpreport.py +648 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/dump/dumputil.py +96 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/entrypoints.py +150 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/fsdf/__init__.py +45 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/fsdf/analysis.py +1127 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/fsdf/canonicaltree.py +1056 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/__init__.py +242 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/analyses/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/analyses/base.py +1690 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/analyses/flow_paths.py +160 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/analyses/nullness.py +701 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/analyses/typestate.py +1474 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/core/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/core/backward.py +303 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/core/problem.py +354 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/core/solver.py +1451 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/core/supergraph.py +180 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/core/transfers.py +188 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/frontend/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/frontend/cfg_adapter.py +1462 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/frontend/preparation.py +68 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/modeling/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/modeling/calls.py +324 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/modeling/presets.py +1307 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/modeling/registry/loader.py +1160 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/modeling/registry/validate.py +37 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/modeling/typestate.py +530 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/queries.py +141 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/reporting.py +229 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/__init__.py +80 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/calling/cpa.py +193 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/calling/transfer.py +206 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/constraintextractor.py +819 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/constraints/calls.py +420 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/constraints/node.py +299 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/dump.py +246 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/ipanalysis.py +319 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/model/invocation.py +162 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/model/objectname.py +77 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/ipa/publication.py +126 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/lifetimeanalysis/__init__.py +48 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/lifetimeanalysis/analysis.py +918 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/lifetimeanalysis/database/structure.py +217 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/numbering/readmodify.py +257 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/numbering/ssa.py +605 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/programculler.py +223 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/shape/__init__.py +466 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/shape/constraintbuilder.py +916 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/shape/constraints.py +498 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/shape/model/configuration.py +76 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/shape/model/pathinformation.py +636 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/shape/regionanalysis.py +160 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/shape/transferfunctions.py +343 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/taint_policy/__init__.py +16 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/taint_policy/policy.py +226 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/taint_policy/sink_semantics.py +26 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/tools.py +116 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/__init__.py +90 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/config.py +78 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/core/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/core/runtime.py +360 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/core/typesystem.py +2571 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/generation/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/generation/constants.py +378 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/__init__.py +9 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/call_models.py +56 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/domain.py +183 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/engine.py +2970 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/external_providers.py +679 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/models.py +186 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/project.py +210 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/providers.py +55 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/string_generators.py +113 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/tracing.py +662 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/validation.py +108 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/query/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/query/evidence.py +357 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/query/models.py +43 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/query/service.py +851 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/resolution/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/resolution/annotations.py +482 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/resolution/docstrings.py +282 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/resolution/generics.py +145 -0
- pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/resolution/typing_syntax.py +275 -0
- pyflow_analysis-0.1.2/src/pyflow/api/__init__.py +44 -0
- pyflow_analysis-0.1.2/src/pyflow/api/ifds.py +621 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/__init__.py +57 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/_dataflow_ipa.py +37 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/_dataflow_reaching_defs.py +127 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/_dataflow_taint.py +99 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/_models.py +180 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/components.py +75 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/context.py +134 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/data_flow.py +228 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/engine.py +257 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/tasks/code_localization.py +375 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/tasks/test_generation.py +307 -0
- pyflow_analysis-0.1.2/src/pyflow/api/queries/type_info.py +49 -0
- pyflow_analysis-0.1.2/src/pyflow/api/snapshot.py +142 -0
- pyflow_analysis-0.1.2/src/pyflow/application/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/application/context.py +104 -0
- pyflow_analysis-0.1.2/src/pyflow/application/cpg.py +334 -0
- pyflow_analysis-0.1.2/src/pyflow/application/makefile.py +213 -0
- pyflow_analysis-0.1.2/src/pyflow/application/passes/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/application/passes/base.py +281 -0
- pyflow_analysis-0.1.2/src/pyflow/application/passes/builtin.py +264 -0
- pyflow_analysis-0.1.2/src/pyflow/application/passes/cache.py +133 -0
- pyflow_analysis-0.1.2/src/pyflow/application/passes/manager.py +489 -0
- pyflow_analysis-0.1.2/src/pyflow/application/passes/registry.py +261 -0
- pyflow_analysis-0.1.2/src/pyflow/application/pipeline.py +90 -0
- pyflow_analysis-0.1.2/src/pyflow/application/program.py +69 -0
- pyflow_analysis-0.1.2/src/pyflow/application/session.py +132 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/__init__.py +4 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/__init__.py +22 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/core/__init__.py +23 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/core/base.py +26 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/core/context.py +245 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/core/manager.py +105 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/core/runner.py +61 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/__init__.py +11 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/_taint_control.py +143 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/_taint_detector.py +828 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/_taint_expressions.py +364 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/_taint_local.py +96 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/_taint_models.py +66 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/_taint_state.py +543 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/_taint_visitors.py +505 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/detectors/taint.py +17 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/frontend/__init__.py +17 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/frontend/ast_cfg.py +295 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/modeling/__init__.py +29 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/modeling/contracts.py +84 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/modeling/shapes.py +55 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/semantics/__init__.py +19 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/semantics/events.py +22 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/semantics/expressions.py +938 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/semantics/transfer.py +556 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/solver/__init__.py +37 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/solver/cfg.py +198 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/solver/interprocedural.py +421 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_dataflow/solver/summaries.py +177 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/__init__.py +14 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/app_debug.py +58 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/asserts.py +33 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/aws_security.py +230 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/bad_file_permissions.py +52 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/bind_all_interfaces.py +39 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/blacklist_calls.py +52 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/blacklist_imports.py +71 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/class_pollution.py +461 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/command_injection.py +449 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/crypto_cert_validation.py +64 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/deserialization.py +370 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/django_security.py +272 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/exception_handling.py +316 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/exec_use.py +16 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/fastapi_security.py +285 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/flask_security.py +247 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/hardcoded_password.py +238 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/hardcoded_secrets.py +272 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/hardcoded_tmp.py +27 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/hashlib_insecure.py +52 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/huggingface_download.py +49 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/injection_wildcard.py +36 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/insecure_ssl_tls.py +73 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/ldap_injection.py +254 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/logging_insecure.py +78 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/markupsafe_xss.py +48 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/paramiko_injection.py +65 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/path_traversal.py +124 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/pytorch_load.py +47 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/request_timeout.py +41 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/shell_injection.py +63 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/snmp_security.py +58 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/sql_injection.py +170 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/sql_injection_enhanced.py +562 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/ssrf.py +418 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/tarfile_unsafe.py +47 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/template_security.py +328 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/trojansource.py +42 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/weak_crypto.py +89 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/weak_cryptographic_key.py +36 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/checkers/xxe_vulnerabilities.py +152 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/__init__.py +16 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/blacklist.py +563 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/context.py +281 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/manager.py +244 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/node_visitor.py +424 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/test_loader.py +41 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/test_properties.py +49 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/tester.py +242 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules/core/utils.py +165 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/__init__.py +46 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/analysis.py +569 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/defaults.py +15 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/effects.py +37 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/escape.py +37 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/model.py +144 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/registry.py +115 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/capability/runtime.py +154 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/diagnostics.py +38 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/issue.py +327 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/metrics.py +92 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/reporting.py +24 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/taint/__init__.py +28 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/taint/locations.py +169 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/taint/provenance.py +52 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/taint/refinement.py +173 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/taint/state.py +378 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/taint/strings.py +123 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/common/taint/uncertainty.py +30 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/__init__.py +35 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/profiles.py +333 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/rules.py +42 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/__init__.py +26 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/defaults.py +17 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/engine.py +439 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/findings.py +37 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/formal.py +2983 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/interprocedural.py +263 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/matching.py +429 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/model.py +458 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/cpg/taint/propagation.py +365 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/capability.py +55 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/cpg.py +110 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/csv.py +68 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/custom.py +123 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/html.py +189 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/json.py +108 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/sarif.py +288 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/screen.py +180 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/security.py +460 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/text.py +161 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/utils.py +64 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/xml.py +56 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/formatters/yaml.py +46 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/__init__.py +47 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/api.py +120 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/class_pollution/__init__.py +45 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/class_pollution/analysis.py +1527 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/class_pollution/api.py +70 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/class_pollution/domain.py +154 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/reporting.py +215 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/shadow_scan.py +345 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/ifds/taint.py +1689 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/llm/exploit.py +308 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/llm/judge.py +101 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/__init__.py +74 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/archives.py +555 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/distribution_integrity.py +309 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/environment.py +88 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/formats.py +358 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/input_safety.py +137 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/inventory.py +171 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/licenses.py +286 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/manifests.py +1520 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/models.py +112 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/policy.py +216 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/provenance.py +351 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/reachability.py +129 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/scanner.py +480 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/validation.py +179 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/vex.py +125 -0
- pyflow_analysis-0.1.2/src/pyflow/checker/supply_chain/vulnerabilities.py +700 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/alias.py +397 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/callgraph.py +319 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/capabilities.py +132 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/capability_run.py +84 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/concolic.py +346 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/ir.py +541 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/lsp.py +360 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/main.py +173 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/optimize.py +717 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/security/__init__.py +10 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/security/command.py +777 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/security/parser.py +271 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/security/reporting.py +121 -0
- pyflow_analysis-0.1.2/src/pyflow/cli/supply_chain.py +730 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/__init__.py +90 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/artifacts/__init__.py +18 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/artifacts/behavior.py +92 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/artifacts/corpus.py +94 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/artifacts/pytestgen.py +176 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/artifacts/replay.py +227 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/core/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/core/modules.py +374 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/core/runtime.py +1135 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/core/support.py +126 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/exploration/__init__.py +6 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/exploration/contracts.py +263 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/exploration/engine.py +874 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/exploration/search.py +156 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/exploration/state_space.py +137 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/__init__.py +5 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/calls.py +744 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/collections.py +398 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/coverage.py +69 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/executor.py +148 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/model_registry.py +149 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/objects.py +654 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/semantics.py +339 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/statements.py +1103 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/summaries.py +1584 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/interpreter/values.py +1105 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/project/__init__.py +29 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/project/audit.py +88 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/project/catalog.py +287 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/project/inputgen.py +196 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/project/operations.py +173 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/project/scan.py +317 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/project/worker.py +62 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/resumable/__init__.py +34 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/resumable/cfg.py +203 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/resumable/coroutines.py +234 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/resumable/frames.py +165 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/resumable/machine.py +476 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/resumable/protocol.py +108 -0
- pyflow_analysis-0.1.2/src/pyflow/concolic/resumable/scheduler.py +121 -0
- pyflow_analysis-0.1.2/src/pyflow/config/capability/stdlib.json +38 -0
- pyflow_analysis-0.1.2/src/pyflow/config/nullness/django.json +22 -0
- pyflow_analysis-0.1.2/src/pyflow/config/nullness/fastapi.json +18 -0
- pyflow_analysis-0.1.2/src/pyflow/config/nullness/flask.json +38 -0
- pyflow_analysis-0.1.2/src/pyflow/config/nullness/sql.json +22 -0
- pyflow_analysis-0.1.2/src/pyflow/config/nullness/sqlalchemy.json +34 -0
- pyflow_analysis-0.1.2/src/pyflow/config/nullness/stdlib.json +162 -0
- pyflow_analysis-0.1.2/src/pyflow/config/rule-pack.schema.json +241 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/aiohttp.json +632 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/archery.json +117 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/bottle.json +37 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/cloud.json +712 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/concurrency.json +26 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/django.json +1119 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/falcon.json +426 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/fastapi.json +451 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/flask.json +776 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/injection.json +1907 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/network.json +887 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/nosql.json +440 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/odoo.json +66 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/pandas.json +378 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/pyramid.json +37 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/requests.json +829 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/sanic.json +37 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/serialization.json +115 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/sql.json +602 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/sqlalchemy.json +216 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/stdlib.json +3800 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/tornado.json +226 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/tortoise.json +79 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/twisted.json +64 -0
- pyflow_analysis-0.1.2/src/pyflow/config/taint/xml.json +76 -0
- pyflow_analysis-0.1.2/src/pyflow/config/typestate/concurrency.json +146 -0
- pyflow_analysis-0.1.2/src/pyflow/config/typestate/network.json +131 -0
- pyflow_analysis-0.1.2/src/pyflow/config/typestate/requests.json +89 -0
- pyflow_analysis-0.1.2/src/pyflow/config/typestate/sql.json +108 -0
- pyflow_analysis-0.1.2/src/pyflow/config/typestate/sqlalchemy.json +46 -0
- pyflow_analysis-0.1.2/src/pyflow/config/typestate/stdlib.json +92 -0
- pyflow_analysis-0.1.2/src/pyflow/config.py +18 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/__init__.py +5 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/conversion/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/conversion/ast.py +2429 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/conversion/functions.py +594 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/conversion/scope.py +654 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/conversion/source.py +395 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/entry_discovery.py +325 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/extractor.py +869 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/interface_builder.py +235 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/resolution/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/resolution/ast_index.py +157 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/resolution/cross_module.py +89 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/resolution/dependencies.py +1471 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/resolution/hierarchy.py +559 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/resolution/runtime_probe.py +152 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/runtime/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/runtime/intrinsics.py +443 -0
- pyflow_analysis-0.1.2/src/pyflow/frontend/runtime/objects.py +220 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/__init__.py +6 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cdg/__init__.py +50 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cdg/construction.py +282 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cdg/dump.py +421 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cdg/graph.py +488 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/__init__.py +43 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/dfs.py +71 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/dom.py +278 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/dump.py +344 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/expandphi.py +117 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/gc.py +103 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/graph.py +899 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/inline.py +440 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/killflow.py +432 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/optimize.py +154 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/revision.py +254 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/simplify.py +22 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/ssa.py +794 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/structuralanalysis.py +460 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/transform.py +555 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cfg/verifier.py +131 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/__init__.py +127 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/analysis_facts.py +99 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/build_semantics.py +439 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/catalog.py +544 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/facts.py +296 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/ids.py +211 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/index.py +693 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/order.py +118 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/query.py +228 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/remap.py +111 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/semantics.py +114 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/source.py +168 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/storage.py +50 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/symbols.py +159 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/core/verifier.py +79 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/__init__.py +50 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/dump.py +105 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/graph/__init__.py +16 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/graph/assembly.py +451 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/graph/core.py +251 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/graph/metadata.py +535 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/graph/model.py +154 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/graph/queries.py +530 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/cpg/persist.py +337 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/dataflow/convert.py +812 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/dataflow/dump.py +437 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/dataflow/graph.py +1649 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/dataflow/predicate.py +233 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/dataflow/transform/dce.py +215 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/dataflow/transform/loadelimination.py +182 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/ddg/__init__.py +54 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/ddg/construction.py +384 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/ddg/dump.py +220 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/ddg/graph.py +367 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/gir/__init__.py +62 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/gir/constants.py +87 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/gir/dump.py +287 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/gir/emitter.py +3037 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/gir/flatten.py +140 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/gir/postprocess.py +413 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/__init__.py +19 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/builder.py +122 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/builtins.py +1216 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/generators.py +472 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/interpreter.py +434 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/lowering.py +1479 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/model.py +438 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/mro.py +206 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/runtime.py +655 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/mir/serialization.py +230 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/pdg/construction.py +404 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/pdg/cypher.py +1117 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/pdg/dump.py +125 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/pdg/graph.py +301 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/storegraph/canonicalobjects.py +338 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/storegraph/extendedtypes.py +341 -0
- pyflow_analysis-0.1.2/src/pyflow/ir/storegraph/storegraph.py +576 -0
- pyflow_analysis-0.1.2/src/pyflow/language/asttools/complexity.py +222 -0
- pyflow_analysis-0.1.2/src/pyflow/language/asttools/metaast/__init__.py +362 -0
- pyflow_analysis-0.1.2/src/pyflow/language/asttools/metaast/codegeneration.py +600 -0
- pyflow_analysis-0.1.2/src/pyflow/language/asttools/origin.py +81 -0
- pyflow_analysis-0.1.2/src/pyflow/language/asttools/visitors.py +173 -0
- pyflow_analysis-0.1.2/src/pyflow/language/modules/ast_helper.py +211 -0
- pyflow_analysis-0.1.2/src/pyflow/language/modules/imports.py +189 -0
- pyflow_analysis-0.1.2/src/pyflow/language/modules/module_definitions.py +227 -0
- pyflow_analysis-0.1.2/src/pyflow/language/modules/project_handler.py +108 -0
- pyflow_analysis-0.1.2/src/pyflow/language/modules/project_resolution.py +575 -0
- pyflow_analysis-0.1.2/src/pyflow/language/modules/transform.py +288 -0
- pyflow_analysis-0.1.2/src/pyflow/language/modules/type_stubs.py +645 -0
- pyflow_analysis-0.1.2/src/pyflow/language/python/annotations.py +116 -0
- pyflow_analysis-0.1.2/src/pyflow/language/python/ast.py +785 -0
- pyflow_analysis-0.1.2/src/pyflow/language/python/collapser.py +602 -0
- pyflow_analysis-0.1.2/src/pyflow/language/python/defuse.py +481 -0
- pyflow_analysis-0.1.2/src/pyflow/language/python/ir_metadata.py +229 -0
- pyflow_analysis-0.1.2/src/pyflow/language/python/program.py +369 -0
- pyflow_analysis-0.1.2/src/pyflow/language/python/simplecodegen.py +963 -0
- pyflow_analysis-0.1.2/src/pyflow/language/source_compat.py +23 -0
- pyflow_analysis-0.1.2/src/pyflow/lsp/__init__.py +14 -0
- pyflow_analysis-0.1.2/src/pyflow/lsp/lsp_handler.py +484 -0
- pyflow_analysis-0.1.2/src/pyflow/lsp/mcp_config.py +28 -0
- pyflow_analysis-0.1.2/src/pyflow/lsp/mcp_handler.py +689 -0
- pyflow_analysis-0.1.2/src/pyflow/lsp/server.py +436 -0
- pyflow_analysis-0.1.2/src/pyflow/lsp/transport.py +360 -0
- pyflow_analysis-0.1.2/src/pyflow/lsp/workspace.py +1359 -0
- pyflow_analysis-0.1.2/src/pyflow/model/__init__.py +1 -0
- pyflow_analysis-0.1.2/src/pyflow/model/entrypoints/declaration.py +419 -0
- pyflow_analysis-0.1.2/src/pyflow/model/entrypoints/wrappers.py +81 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/argumentnormalization.py +409 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/callconverter.py +282 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/clone.py +711 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/codeinlining.py +596 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/cullprogram.py +73 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/dataflow/forward.py +693 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/dataflow/reverse.py +453 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/dce.py +370 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/fold.py +788 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/loadelimination.py +372 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/methodcall.py +557 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/simplify.py +143 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/source.py +1107 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/source_candidates.py +101 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/storeelimination.py +142 -0
- pyflow_analysis-0.1.2/src/pyflow/optimization/termrewrite.py +292 -0
- pyflow_analysis-0.1.2/src/pyflow/stats/__init__.py +416 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/__pycache__/stubcollector.cpython-313.pyc +0 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/lltranslator.py +487 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/argparse_stubs.py +254 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/csv_stubs.py +191 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/hashlib_stubs.py +226 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/interpreter.py +358 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/io_stubs.py +359 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/logging_stubs.py +307 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/os_stubs.py +736 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/pathlib_stubs.py +364 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/shutil_stubs.py +230 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/subprocess_stubs.py +201 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/tempfile_stubs.py +160 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/std/time_stubs.py +283 -0
- pyflow_analysis-0.1.2/src/pyflow/stubs/stubcollector.py +461 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/Automata.py +636 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/CubicHam.py +347 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/LCA.py +347 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/Medium.py +412 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/OrderedSequence.py +130 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/PartialOrder.py +127 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/ReadUndirectedGraph.py +421 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/SMAWK.py +190 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/StrongConnectivity.py +104 -0
- pyflow_analysis-0.1.2/src/pyflow/util/PADS/Sudoku.py +2002 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/dfa.py +177 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/dottreegen.py +168 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/exceptions.py +340 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/main.py +190 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/recognizers.py +1334 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/streams.py +1247 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/tree.py +2177 -0
- pyflow_analysis-0.1.2/src/pyflow/util/antlr3/treewizard.py +558 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/CFGR.py +65 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/CNF.py +378 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/SCR.py +65 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/cfl_dtc.py +186 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/cfl_solver.py +195 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/dtc.py +174 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/grammar.py +239 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/graph.py +145 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/matrix.py +234 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/pag_matrix.py +221 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cfl/sc_solver.py +224 -0
- pyflow_analysis-0.1.2/src/pyflow/util/cwe.py +51 -0
- pyflow_analysis-0.1.2/src/pyflow/util/graphalgorithim/dominator.py +591 -0
- pyflow_analysis-0.1.2/src/pyflow/util/io/dot.py +538 -0
- pyflow_analysis-0.1.2/src/pyflow/util/io/filesystem.py +210 -0
- pyflow_analysis-0.1.2/src/pyflow/util/monkeypatch/xnamedtuple.py +169 -0
- pyflow_analysis-0.1.2/src/pyflow/util/orderedset.py +420 -0
- pyflow_analysis-0.1.2/src/pyflow/util/pydot.py +1977 -0
- pyflow_analysis-0.1.2/src/pyflow/util/python/__init__.py +138 -0
- pyflow_analysis-0.1.2/src/pyflow/util/python/calling.py +554 -0
- pyflow_analysis-0.1.2/src/pyflow/util/python/opnames.py +151 -0
- pyflow_analysis-0.1.2/src/pyflow/util/randomness.py +229 -0
- pyflow_analysis-0.1.2/src/pyflow/util/typedispatch.py +340 -0
- pyflow_analysis-0.1.2/src/pyflow_analysis.egg-info/PKG-INFO +204 -0
- pyflow_analysis-0.1.2/src/pyflow_analysis.egg-info/SOURCES.txt +1044 -0
- pyflow_analysis-0.1.2/src/pyflow_analysis.egg-info/entry_points.txt +2 -0
- pyflow_analysis-0.1.2/src/pyflow_analysis.egg-info/requires.txt +37 -0
- pyflow_analysis-0.1.2/tests/test_full.py +315 -0
- pyflow_analysis-0.1.0/PKG-INFO +0 -184
- pyflow_analysis-0.1.0/README.md +0 -139
- pyflow_analysis-0.1.0/pyproject.toml +0 -141
- pyflow_analysis-0.1.0/src/pyflow/__init__.py +0 -22
- pyflow_analysis-0.1.0/src/pyflow/analysis/__init__.py +0 -14
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/__init__.py +0 -148
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/_transfer_calls.py +0 -3493
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/_transfer_ops.py +0 -1969
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/abstraction.py +0 -1632
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/heap_analysis.py +0 -280
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/heap_effects.py +0 -1209
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/heap_state.py +0 -381
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/heap_summary.py +0 -299
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/intrinsics.py +0 -948
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/model.py +0 -449
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/points_to_graph.py +0 -722
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/flow_sensitive/transfer.py +0 -1483
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/__init__.py +0 -33
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/__init__.py +0 -1
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/__init__.py +0 -53
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/logging.py +0 -490
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/operation.py +0 -1601
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/pointer_adapter.py +0 -353
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/solver.py +0 -559
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/state.py +0 -701
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/ai/value.py +0 -804
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/analysis.py +0 -86
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/class_hierarchy.py +0 -83
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/closure.py +0 -69
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/analysis.py +0 -58
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/driver.py +0 -38
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/liveness.py +0 -33
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/reaching_definition.py +0 -52
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/solver.py +0 -178
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/defuse.py +0 -46
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/__init__.py +0 -18
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/__init__.py +0 -110
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/analysis.py +0 -382
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/builtin_api_handler.py +0 -1872
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/call_graph_analyzer.py +0 -289
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/class_hierarchy.py +0 -304
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/config.py +0 -139
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/constraints.py +0 -576
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/context.py +0 -496
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/context_selector.py +0 -297
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/heap_model.py +0 -221
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/ir_translator.py +0 -1181
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/libs/math.py +0 -244
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/module_analysis.py +0 -269
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/module_summary.py +0 -191
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/object.py +0 -685
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/pointer_flow_graph.py +0 -282
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/points_to_set.py +0 -301
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/__init__.py +0 -21
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/attribute_semantics.py +0 -512
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/compose_processor.py +0 -46
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/container.py +0 -128
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/generator.py +0 -353
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/normal_call.py +0 -664
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/processor.py +0 -36
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/processor/super_resolve.py +0 -131
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/pta_query_adapter.py +0 -329
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/solver.py +0 -917
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/solver_interface.py +0 -76
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/state.py +0 -735
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/unknown_tracker.py +0 -126
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/variable.py +0 -144
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/scope/analysis.py +0 -37
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/scope/closure.py +0 -81
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/block_cfg.py +0 -133
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/cfg.py +0 -95
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/base.py +0 -112
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/baseprocess.py +0 -524
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/icfg_pre_transform.py +0 -69
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/postprocessor.py +0 -308
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/preprocessor.py +0 -375
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/ir.py +0 -361
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/three_address.py +0 -1161
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/transform.py +0 -27
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/__init__.py +0 -0
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/call_graph/__init__.py +0 -2
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/call_graph/call_edge.py +0 -45
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/call_graph/call_graph.py +0 -77
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/__init__.py +0 -3
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/base_block.py +0 -83
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/cfg.py +0 -200
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/dump.py +0 -20
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/edges.py +0 -162
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/cfg/visualize.py +0 -112
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/dominator_tree.py +0 -126
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/graph.py +0 -81
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/icfg/__init__.py +0 -0
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/graph/icfg/icfg.py +0 -98
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/ir/__init__.py +0 -2
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/ir/ir_statements.py +0 -1579
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/ir/ir_visitor.py +0 -21
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/abc.py +0 -80
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/base64.py +0 -62
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/contextlib.py +0 -113
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/csv.py +0 -163
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/dataclasses.py +0 -150
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/datetime.py +0 -171
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/email.py +0 -270
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/enum.py +0 -144
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/functools.py +0 -84
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/hashlib.py +0 -74
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/http.py +0 -317
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/importlib.py +0 -126
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/inspect.py +0 -246
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/io.py +0 -471
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/json.py +0 -80
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/logging.py +0 -193
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/math.py +0 -244
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/mimetypes.py +0 -119
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/operator.py +0 -310
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/os.py +0 -286
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/pathlib.py +0 -196
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/pickle.py +0 -153
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/random.py +0 -125
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/shutil.py +0 -99
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/tempfile.py +0 -76
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/traceback.py +0 -151
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/types.py +0 -247
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/urllib/parse.py +0 -221
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/warnings.py +0 -82
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/weakref.py +0 -272
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/common.py +0 -70
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/persistent_rb_tree.py +0 -364
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/temp_var_generator.py +0 -68
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/toposort.py +0 -63
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/var_collector.py +0 -72
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/__init__.py +0 -1
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/analysis_manager.py +0 -141
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/class_hierarchy.py +0 -56
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/config.py +0 -93
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/import_manager.py +0 -16
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/namespace.py +0 -327
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/pipeline.py +0 -153
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/scope_manager.py +0 -133
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/_pythonstan/world/world.py +0 -49
- pyflow_analysis-0.1.0/src/pyflow/analysis/alias/kcfa/bridge.py +0 -136
- pyflow_analysis-0.1.0/src/pyflow/analysis/astcollector.py +0 -171
- pyflow_analysis-0.1.0/src/pyflow/analysis/cache/incremental.py +0 -226
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/__init__.py +0 -58
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/ast_based.py +0 -184
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/_analyzer.py +0 -1976
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/_collector.py +0 -704
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/_evaluator.py +0 -984
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/_loader.py +0 -115
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/_resolver.py +0 -2852
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/api.py +0 -233
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/engine.py +0 -717
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/constraint_based/model.py +0 -303
- pyflow_analysis-0.1.0/src/pyflow/analysis/callgraph/pycg_based.py +0 -273
- pyflow_analysis-0.1.0/src/pyflow/analysis/cdg/__init__.py +0 -52
- pyflow_analysis-0.1.0/src/pyflow/analysis/cdg/construction.py +0 -256
- pyflow_analysis-0.1.0/src/pyflow/analysis/cdg/dump.py +0 -415
- pyflow_analysis-0.1.0/src/pyflow/analysis/cdg/graph.py +0 -456
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/__init__.py +0 -38
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/dfs.py +0 -55
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/dom.py +0 -243
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/dump.py +0 -322
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/expandphi.py +0 -113
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/gc.py +0 -93
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/graph.py +0 -878
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/inline.py +0 -337
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/killflow.py +0 -360
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/optimize.py +0 -164
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/simplify.py +0 -19
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/ssa.py +0 -693
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/structuralanalysis.py +0 -422
- pyflow_analysis-0.1.0/src/pyflow/analysis/cfg/transform.py +0 -527
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpa/__init__.py +0 -657
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpa/base.py +0 -430
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpa/constraintextractor.py +0 -797
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpa/constraints.py +0 -1071
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpa/simpleimagebuilder.py +0 -299
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/__init__.py +0 -93
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/build.py +0 -221
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/dump.py +0 -102
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/graph.py +0 -1877
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/persist.py +0 -346
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/profiles.py +0 -286
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/rules.py +0 -365
- pyflow_analysis-0.1.0/src/pyflow/analysis/cpg/taint.py +0 -1934
- pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR/convert.py +0 -795
- pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR/dump.py +0 -443
- pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR/graph.py +0 -1648
- pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR/predicate.py +0 -233
- pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR/transform/dce.py +0 -215
- pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR/transform/loadelimination.py +0 -185
- pyflow_analysis-0.1.0/src/pyflow/analysis/ddg/__init__.py +0 -53
- pyflow_analysis-0.1.0/src/pyflow/analysis/ddg/construction.py +0 -310
- pyflow_analysis-0.1.0/src/pyflow/analysis/ddg/dump.py +0 -218
- pyflow_analysis-0.1.0/src/pyflow/analysis/ddg/graph.py +0 -295
- pyflow_analysis-0.1.0/src/pyflow/analysis/dump/dumpgraphs.py +0 -93
- pyflow_analysis-0.1.0/src/pyflow/analysis/dump/dumpreport.py +0 -841
- pyflow_analysis-0.1.0/src/pyflow/analysis/dump/dumputil.py +0 -98
- pyflow_analysis-0.1.0/src/pyflow/analysis/fsdf/__init__.py +0 -1107
- pyflow_analysis-0.1.0/src/pyflow/analysis/fsdf/canonicaltree.py +0 -1071
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/__init__.py +0 -284
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/annotation_fallback.py +0 -21
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/annotation_synthesis.py +0 -803
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/api.py +0 -567
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/backward_solver.py +0 -328
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/cfg_adapter.py +0 -1575
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/_call_model.py +0 -166
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/_client_common.py +0 -1617
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/flow_path_collector.py +0 -159
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/library_presets.py +0 -1134
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/nullness.py +0 -754
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/registry/loader.py +0 -688
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/registry/validate.py +0 -37
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/taint.py +0 -782
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/typestate.py +0 -1550
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients/typestate_engine.py +0 -534
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/preparation.py +0 -97
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/problem.py +0 -363
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/queries.py +0 -142
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/reporting.py +0 -289
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/shadow_scan.py +0 -349
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/solver.py +0 -1495
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/supergraph.py +0 -186
- pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/transfers.py +0 -187
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/__init__.py +0 -77
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/calling/cpa.py +0 -197
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/calling/transfer.py +0 -208
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/constraintextractor.py +0 -804
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/constraints/calls.py +0 -424
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/constraints/node.py +0 -299
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/dump.py +0 -246
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/ipanalysis.py +0 -319
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/model/invocation.py +0 -159
- pyflow_analysis-0.1.0/src/pyflow/analysis/ipa/model/objectname.py +0 -77
- pyflow_analysis-0.1.0/src/pyflow/analysis/ir_utils.py +0 -215
- pyflow_analysis-0.1.0/src/pyflow/analysis/lifetimeanalysis/__init__.py +0 -935
- pyflow_analysis-0.1.0/src/pyflow/analysis/lifetimeanalysis/database/structure.py +0 -224
- pyflow_analysis-0.1.0/src/pyflow/analysis/numbering/readmodify.py +0 -251
- pyflow_analysis-0.1.0/src/pyflow/analysis/numbering/ssa.py +0 -604
- pyflow_analysis-0.1.0/src/pyflow/analysis/pdg/construction.py +0 -447
- pyflow_analysis-0.1.0/src/pyflow/analysis/pdg/cypher.py +0 -1150
- pyflow_analysis-0.1.0/src/pyflow/analysis/pdg/dump.py +0 -129
- pyflow_analysis-0.1.0/src/pyflow/analysis/pdg/graph.py +0 -308
- pyflow_analysis-0.1.0/src/pyflow/analysis/programculler.py +0 -224
- pyflow_analysis-0.1.0/src/pyflow/analysis/shape/__init__.py +0 -466
- pyflow_analysis-0.1.0/src/pyflow/analysis/shape/constraintbuilder.py +0 -933
- pyflow_analysis-0.1.0/src/pyflow/analysis/shape/constraints.py +0 -510
- pyflow_analysis-0.1.0/src/pyflow/analysis/shape/model/configuration.py +0 -78
- pyflow_analysis-0.1.0/src/pyflow/analysis/shape/model/pathinformation.py +0 -645
- pyflow_analysis-0.1.0/src/pyflow/analysis/shape/regionanalysis.py +0 -152
- pyflow_analysis-0.1.0/src/pyflow/analysis/shape/transferfunctions.py +0 -353
- pyflow_analysis-0.1.0/src/pyflow/analysis/storegraph/canonicalobjects.py +0 -329
- pyflow_analysis-0.1.0/src/pyflow/analysis/storegraph/extendedtypes.py +0 -311
- pyflow_analysis-0.1.0/src/pyflow/analysis/storegraph/storegraph.py +0 -577
- pyflow_analysis-0.1.0/src/pyflow/analysis/tools.py +0 -112
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/__init__.py +0 -93
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/_config.py +0 -84
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/annotation_resolver.py +0 -483
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/collector.py +0 -361
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/constants.py +0 -378
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/docstring_parser.py +0 -289
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/generic_binder.py +0 -145
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/gradual_typing.py +0 -255
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/models.py +0 -43
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/service.py +0 -774
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/string_subtype_inference.py +0 -113
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/stub_loader.py +0 -667
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/type_inference.py +0 -747
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/type_utils.py +0 -361
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/typesystem.py +0 -2346
- pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/typetracing.py +0 -672
- pyflow_analysis-0.1.0/src/pyflow/api/__init__.py +0 -94
- pyflow_analysis-0.1.0/src/pyflow/api/entrypoints/declaration.py +0 -345
- pyflow_analysis-0.1.0/src/pyflow/api/entrypoints/wrappers.py +0 -83
- pyflow_analysis-0.1.0/src/pyflow/api/queries/__init__.py +0 -65
- pyflow_analysis-0.1.0/src/pyflow/api/queries/_dataflow_ipa.py +0 -29
- pyflow_analysis-0.1.0/src/pyflow/api/queries/_dataflow_reaching_defs.py +0 -105
- pyflow_analysis-0.1.0/src/pyflow/api/queries/_dataflow_store_graph.py +0 -152
- pyflow_analysis-0.1.0/src/pyflow/api/queries/_dataflow_taint.py +0 -76
- pyflow_analysis-0.1.0/src/pyflow/api/queries/_models.py +0 -177
- pyflow_analysis-0.1.0/src/pyflow/api/queries/capabilities.py +0 -106
- pyflow_analysis-0.1.0/src/pyflow/api/queries/context.py +0 -152
- pyflow_analysis-0.1.0/src/pyflow/api/queries/data_flow.py +0 -157
- pyflow_analysis-0.1.0/src/pyflow/api/queries/engine.py +0 -201
- pyflow_analysis-0.1.0/src/pyflow/api/queries/service.py +0 -339
- pyflow_analysis-0.1.0/src/pyflow/api/queries/tasks/code_localization.py +0 -425
- pyflow_analysis-0.1.0/src/pyflow/api/queries/tasks/test_generation.py +0 -338
- pyflow_analysis-0.1.0/src/pyflow/application/__init__.py +0 -109
- pyflow_analysis-0.1.0/src/pyflow/application/context.py +0 -116
- pyflow_analysis-0.1.0/src/pyflow/application/makefile.py +0 -213
- pyflow_analysis-0.1.0/src/pyflow/application/passes.py +0 -515
- pyflow_analysis-0.1.0/src/pyflow/application/passmanager.py +0 -755
- pyflow_analysis-0.1.0/src/pyflow/application/pipeline.py +0 -459
- pyflow_analysis-0.1.0/src/pyflow/application/program.py +0 -147
- pyflow_analysis-0.1.0/src/pyflow/checker/__init__.py +0 -51
- pyflow_analysis-0.1.0/src/pyflow/checker/formatters/json.py +0 -153
- pyflow_analysis-0.1.0/src/pyflow/checker/formatters/sarif.py +0 -263
- pyflow_analysis-0.1.0/src/pyflow/checker/formatters/text.py +0 -168
- pyflow_analysis-0.1.0/src/pyflow/checker/formatters/utils.py +0 -17
- pyflow_analysis-0.1.0/src/pyflow/checker/llm/exploit.py +0 -129
- pyflow_analysis-0.1.0/src/pyflow/checker/llm/judge.py +0 -105
- pyflow_analysis-0.1.0/src/pyflow/checker/microbench.py +0 -338
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/__init__.py +0 -14
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/aws_security.py +0 -234
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/blacklist_calls.py +0 -54
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/blacklist_imports.py +0 -73
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/class_pollution.py +0 -459
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/command_injection.py +0 -340
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/deserialization.py +0 -373
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/django_security.py +0 -285
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/exception_handling.py +0 -317
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/exec_use.py +0 -16
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/fastapi_security.py +0 -291
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/flask_security.py +0 -264
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/hardcoded_password.py +0 -239
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/hardcoded_secrets.py +0 -279
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/ldap_injection.py +0 -281
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/path_traversal.py +0 -124
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/shell_injection.py +0 -46
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/sql_injection.py +0 -170
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/sql_injection_enhanced.py +0 -574
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/ssrf.py +0 -419
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/template_security.py +0 -310
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/weak_crypto.py +0 -89
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/checkers/xxe_vulnerabilities.py +0 -155
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/__init__.py +0 -17
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/blacklist.py +0 -569
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/context.py +0 -276
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/issue.py +0 -325
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/manager.py +0 -253
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/metrics.py +0 -78
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/node_visitor.py +0 -430
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/test_loader.py +0 -41
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/test_properties.py +0 -54
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/tester.py +0 -244
- pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core/utils.py +0 -167
- pyflow_analysis-0.1.0/src/pyflow/checker/quality.py +0 -374
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/__init__.py +0 -16
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/core/__init__.py +0 -23
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/core/base.py +0 -26
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/core/context.py +0 -270
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/core/issue.py +0 -9
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/core/manager.py +0 -150
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/core/runner.py +0 -58
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/detectors/__init__.py +0 -17
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/detectors/ast_helpers.py +0 -114
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/detectors/leak.py +0 -500
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/detectors/null_dereference.py +0 -132
- pyflow_analysis-0.1.0/src/pyflow/checker/semantic/detectors/semantic_taint.py +0 -2258
- pyflow_analysis-0.1.0/src/pyflow/checker/supply_chain.py +0 -568
- pyflow_analysis-0.1.0/src/pyflow/cli/alias.py +0 -397
- pyflow_analysis-0.1.0/src/pyflow/cli/callgraph.py +0 -185
- pyflow_analysis-0.1.0/src/pyflow/cli/ir.py +0 -461
- pyflow_analysis-0.1.0/src/pyflow/cli/main.py +0 -125
- pyflow_analysis-0.1.0/src/pyflow/cli/optimize.py +0 -603
- pyflow_analysis-0.1.0/src/pyflow/cli/security.py +0 -1262
- pyflow_analysis-0.1.0/src/pyflow/cli/supply_chain.py +0 -114
- pyflow_analysis-0.1.0/src/pyflow/config/nullness/django.json +0 -21
- pyflow_analysis-0.1.0/src/pyflow/config/nullness/fastapi.json +0 -17
- pyflow_analysis-0.1.0/src/pyflow/config/nullness/flask.json +0 -37
- pyflow_analysis-0.1.0/src/pyflow/config/nullness/sql.json +0 -21
- pyflow_analysis-0.1.0/src/pyflow/config/nullness/sqlalchemy.json +0 -33
- pyflow_analysis-0.1.0/src/pyflow/config/nullness/stdlib.json +0 -161
- pyflow_analysis-0.1.0/src/pyflow/config/rule-pack.schema.json +0 -54
- pyflow_analysis-0.1.0/src/pyflow/config/taint/aiohttp.json +0 -640
- pyflow_analysis-0.1.0/src/pyflow/config/taint/cloud.json +0 -485
- pyflow_analysis-0.1.0/src/pyflow/config/taint/concurrency.json +0 -25
- pyflow_analysis-0.1.0/src/pyflow/config/taint/django.json +0 -710
- pyflow_analysis-0.1.0/src/pyflow/config/taint/falcon.json +0 -375
- pyflow_analysis-0.1.0/src/pyflow/config/taint/fastapi.json +0 -192
- pyflow_analysis-0.1.0/src/pyflow/config/taint/flask.json +0 -504
- pyflow_analysis-0.1.0/src/pyflow/config/taint/injection.json +0 -2294
- pyflow_analysis-0.1.0/src/pyflow/config/taint/network.json +0 -367
- pyflow_analysis-0.1.0/src/pyflow/config/taint/nosql.json +0 -166
- pyflow_analysis-0.1.0/src/pyflow/config/taint/pandas.json +0 -463
- pyflow_analysis-0.1.0/src/pyflow/config/taint/requests.json +0 -952
- pyflow_analysis-0.1.0/src/pyflow/config/taint/serialization.json +0 -109
- pyflow_analysis-0.1.0/src/pyflow/config/taint/sql.json +0 -730
- pyflow_analysis-0.1.0/src/pyflow/config/taint/sqlalchemy.json +0 -235
- pyflow_analysis-0.1.0/src/pyflow/config/taint/stdlib.json +0 -4388
- pyflow_analysis-0.1.0/src/pyflow/config/taint/tornado.json +0 -151
- pyflow_analysis-0.1.0/src/pyflow/config/taint/xml.json +0 -89
- pyflow_analysis-0.1.0/src/pyflow/config/typestate/concurrency.json +0 -145
- pyflow_analysis-0.1.0/src/pyflow/config/typestate/network.json +0 -130
- pyflow_analysis-0.1.0/src/pyflow/config/typestate/requests.json +0 -88
- pyflow_analysis-0.1.0/src/pyflow/config/typestate/sql.json +0 -107
- pyflow_analysis-0.1.0/src/pyflow/config/typestate/sqlalchemy.json +0 -45
- pyflow_analysis-0.1.0/src/pyflow/config/typestate/stdlib.json +0 -91
- pyflow_analysis-0.1.0/src/pyflow/config.py +0 -30
- pyflow_analysis-0.1.0/src/pyflow/frontend/__init__.py +0 -28
- pyflow_analysis-0.1.0/src/pyflow/frontend/ast_converter.py +0 -2593
- pyflow_analysis-0.1.0/src/pyflow/frontend/class_hierarchy.py +0 -665
- pyflow_analysis-0.1.0/src/pyflow/frontend/dependency_resolver.py +0 -1836
- pyflow_analysis-0.1.0/src/pyflow/frontend/function_extractor.py +0 -602
- pyflow_analysis-0.1.0/src/pyflow/frontend/object_manager.py +0 -224
- pyflow_analysis-0.1.0/src/pyflow/frontend/programextractor.py +0 -1033
- pyflow_analysis-0.1.0/src/pyflow/frontend/project_resolution.py +0 -511
- pyflow_analysis-0.1.0/src/pyflow/frontend/source_locator.py +0 -163
- pyflow_analysis-0.1.0/src/pyflow/frontend/stub_manager.py +0 -425
- pyflow_analysis-0.1.0/src/pyflow/language/asttools/complexity.py +0 -224
- pyflow_analysis-0.1.0/src/pyflow/language/asttools/metaast/__init__.py +0 -370
- pyflow_analysis-0.1.0/src/pyflow/language/asttools/metaast/codegeneration.py +0 -622
- pyflow_analysis-0.1.0/src/pyflow/language/asttools/origin.py +0 -83
- pyflow_analysis-0.1.0/src/pyflow/language/asttools/visitors.py +0 -179
- pyflow_analysis-0.1.0/src/pyflow/language/modules/ast_helper.py +0 -211
- pyflow_analysis-0.1.0/src/pyflow/language/modules/module_definitions.py +0 -240
- pyflow_analysis-0.1.0/src/pyflow/language/modules/project_handler.py +0 -110
- pyflow_analysis-0.1.0/src/pyflow/language/modules/transform.py +0 -290
- pyflow_analysis-0.1.0/src/pyflow/language/python/annotations.py +0 -378
- pyflow_analysis-0.1.0/src/pyflow/language/python/ast.py +0 -749
- pyflow_analysis-0.1.0/src/pyflow/language/python/collapser.py +0 -604
- pyflow_analysis-0.1.0/src/pyflow/language/python/defuse.py +0 -469
- pyflow_analysis-0.1.0/src/pyflow/language/python/program.py +0 -371
- pyflow_analysis-0.1.0/src/pyflow/language/python/simplecodegen.py +0 -975
- pyflow_analysis-0.1.0/src/pyflow/optimization/argumentnormalization.py +0 -429
- pyflow_analysis-0.1.0/src/pyflow/optimization/callconverter.py +0 -295
- pyflow_analysis-0.1.0/src/pyflow/optimization/clone.py +0 -743
- pyflow_analysis-0.1.0/src/pyflow/optimization/codeinlining.py +0 -587
- pyflow_analysis-0.1.0/src/pyflow/optimization/cullprogram.py +0 -155
- pyflow_analysis-0.1.0/src/pyflow/optimization/dataflow/forward.py +0 -681
- pyflow_analysis-0.1.0/src/pyflow/optimization/dataflow/reverse.py +0 -454
- pyflow_analysis-0.1.0/src/pyflow/optimization/dce.py +0 -354
- pyflow_analysis-0.1.0/src/pyflow/optimization/fold.py +0 -780
- pyflow_analysis-0.1.0/src/pyflow/optimization/loadelimination.py +0 -342
- pyflow_analysis-0.1.0/src/pyflow/optimization/methodcall.py +0 -554
- pyflow_analysis-0.1.0/src/pyflow/optimization/simplify.py +0 -143
- pyflow_analysis-0.1.0/src/pyflow/optimization/storeelimination.py +0 -129
- pyflow_analysis-0.1.0/src/pyflow/optimization/termrewrite.py +0 -287
- pyflow_analysis-0.1.0/src/pyflow/stats/__init__.py +0 -436
- pyflow_analysis-0.1.0/src/pyflow/stubs/__pycache__/stubcollector.cpython-313.pyc +0 -0
- pyflow_analysis-0.1.0/src/pyflow/stubs/lltranslator.py +0 -493
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/argparse_stubs.py +0 -200
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/csv_stubs.py +0 -187
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/hashlib_stubs.py +0 -198
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/interpreter.py +0 -360
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/io_stubs.py +0 -339
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/logging_stubs.py +0 -295
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/os_stubs.py +0 -727
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/pathlib_stubs.py +0 -364
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/shutil_stubs.py +0 -212
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/subprocess_stubs.py +0 -149
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/tempfile_stubs.py +0 -129
- pyflow_analysis-0.1.0/src/pyflow/stubs/std/time_stubs.py +0 -283
- pyflow_analysis-0.1.0/src/pyflow/stubs/stubcollector.py +0 -463
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/Automata.py +0 -640
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/CubicHam.py +0 -351
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/LCA.py +0 -349
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/Medium.py +0 -414
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/OrderedSequence.py +0 -133
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/PartialOrder.py +0 -129
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/ReadUndirectedGraph.py +0 -431
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/SMAWK.py +0 -190
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/StrongConnectivity.py +0 -106
- pyflow_analysis-0.1.0/src/pyflow/util/PADS/Sudoku.py +0 -2028
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/dfa.py +0 -179
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/dottreegen.py +0 -170
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/exceptions.py +0 -346
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/main.py +0 -198
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/recognizers.py +0 -1341
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/streams.py +0 -1250
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/tree.py +0 -2190
- pyflow_analysis-0.1.0/src/pyflow/util/antlr3/treewizard.py +0 -566
- pyflow_analysis-0.1.0/src/pyflow/util/graphalgorithim/dominator.py +0 -531
- pyflow_analysis-0.1.0/src/pyflow/util/io/dot.py +0 -540
- pyflow_analysis-0.1.0/src/pyflow/util/io/filesystem.py +0 -210
- pyflow_analysis-0.1.0/src/pyflow/util/monkeypatch/xnamedtuple.py +0 -180
- pyflow_analysis-0.1.0/src/pyflow/util/orderedset.py +0 -420
- pyflow_analysis-0.1.0/src/pyflow/util/pydot.py +0 -1998
- pyflow_analysis-0.1.0/src/pyflow/util/python/__init__.py +0 -136
- pyflow_analysis-0.1.0/src/pyflow/util/python/calling.py +0 -558
- pyflow_analysis-0.1.0/src/pyflow/util/python/opnames.py +0 -153
- pyflow_analysis-0.1.0/src/pyflow/util/randomness.py +0 -230
- pyflow_analysis-0.1.0/src/pyflow/util/typedispatch.py +0 -342
- pyflow_analysis-0.1.0/src/pyflow_analysis.egg-info/PKG-INFO +0 -184
- pyflow_analysis-0.1.0/src/pyflow_analysis.egg-info/SOURCES.txt +0 -761
- pyflow_analysis-0.1.0/src/pyflow_analysis.egg-info/entry_points.txt +0 -2
- pyflow_analysis-0.1.0/src/pyflow_analysis.egg-info/requires.txt +0 -28
- pyflow_analysis-0.1.0/tests/test_full.py +0 -314
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/LICENSE.txt +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/setup.cfg +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/_pyflow.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/dataflow/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/debug_monitor.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/pointer/kcfa/libs/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/scope/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/driver.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/icfg.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/analysis/transform/icfg/icfg_transform.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/LICENSE.pythonstan +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/README.md +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/abc.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/base64.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/bisect.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/collections.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/contextlib.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/copy.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/csv.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/dataclasses.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/datetime.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/email.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/enum.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/fnmatch.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/functools.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/glob.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/hashlib.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/heapq.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/hmac.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/http.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/importlib.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/inspect.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/io.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/itertools.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/json.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/logging.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/math.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/mimetypes.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/operator.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/os.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/pathlib.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/pickle.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/random.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/re.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/secrets.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/shutil.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/somelib.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/tempfile.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/time.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/traceback.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/types.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/uuid.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/warnings.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/__pycache__/weakref.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/bisect.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/collections.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/copy.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/fnmatch.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/glob.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/heapq.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/hmac.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/itertools.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/re.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/secrets.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/somelib.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/time.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/urllib/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/urllib/__pycache__/__init__.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/urllib/__pycache__/parse.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/stubs/stdlib/uuid.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/alias/kcfa/_pythonstan/utils/ast_rename.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/callgraph/callgraph.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/callgraph/constraint_based/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/callgraph/formats.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/cpa/codecloner.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/cpasignature.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/dump/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/fsdf/canonicalset.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ifds/diagnostics.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis/ifds/clients → pyflow_analysis-0.1.2/src/pyflow/analysis/ifds/modeling}/registry/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/calling/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/calling/callbinder.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/constraints/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/constraints/base.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/constraints/flow.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/constraints/qualifiers.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/constraints/split.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/entrypointbuilder.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/escape/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/escape/objectescape.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/memory/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/memory/extractorpolicy.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/memory/storegraphpolicy.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/model/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/model/context.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/model/object.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/model/region.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/ipa/summary/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/lifetimeanalysis/database/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/lifetimeanalysis/database/base.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/lifetimeanalysis/database/lattice.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/lifetimeanalysis/database/mapping.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/lifetimeanalysis/database/tupleset.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/numbering/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/numbering/dataflow.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/numbering/dominance.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/shape/dataflow.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/shape/model/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/shape/model/canonical.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/shape/model/expressions.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/shape/model/referencecount.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/shape/model/secondary.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/analysis/shape/model/slots.py +0 -0
- /pyflow_analysis-0.1.0/src/pyflow/analysis/typeinfo/string_subtypes.py → /pyflow_analysis-0.1.2/src/pyflow/analysis/typeinfo/inference/string_patterns.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/api/queries/_cfg_utils.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/api/queries/call_graph.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/api/queries/control_flow.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/api/queries/localization.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/api/queries/tasks/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/api/queries/test_generation.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/checker/pattern → pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules}/checkers/__init__.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/checker/pattern → pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules}/core/config.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/checker/pattern → pyflow_analysis-0.1.2/src/pyflow/checker/ast_rules}/core/test_set.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/checker/pattern/core → pyflow_analysis-0.1.2/src/pyflow/checker/common}/constants.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/checker/formatters/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/checker/llm/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/checker/llm/llm_utils.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/cli/__init__.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis → pyflow_analysis-0.1.2/src/pyflow/ir}/cfg/ssatransform.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR → pyflow_analysis-0.1.2/src/pyflow/ir/dataflow}/__init__.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR → pyflow_analysis-0.1.2/src/pyflow/ir/dataflow}/annotations.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR → pyflow_analysis-0.1.2/src/pyflow/ir/dataflow}/ordering.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR → pyflow_analysis-0.1.2/src/pyflow/ir/dataflow}/transform/__init__.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis/dataflowIR → pyflow_analysis-0.1.2/src/pyflow/ir/dataflow}/traverse.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis → pyflow_analysis-0.1.2/src/pyflow/ir}/pdg/__init__.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis → pyflow_analysis-0.1.2/src/pyflow/ir}/storegraph/__init__.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis → pyflow_analysis-0.1.2/src/pyflow/ir}/storegraph/annotations.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/analysis → pyflow_analysis-0.1.2/src/pyflow/ir}/storegraph/setmanager.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/asttools/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/asttools/annotation.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/asttools/antlrtranslator.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/asttools/astpprint.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/asttools/decorators.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/asttools/symbols.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/modules/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/modules/_scope_graph.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/modules/util.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/python/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/python/default_markers.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/python/fold.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/python/pythonbase.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/language/python/pythonoutput.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/api → pyflow_analysis-0.1.2/src/pyflow/model}/entrypoints/__init__.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/api → pyflow_analysis-0.1.2/src/pyflow/model}/entrypoints/entry_point.py +0 -0
- {pyflow_analysis-0.1.0/src/pyflow/application → pyflow_analysis-0.1.2/src/pyflow/model}/errors.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/optimization/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/optimization/convertboolelimination.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/optimization/dataflow/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/optimization/dataflow/base.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/optimization/rewrite.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/__pycache__/__init__.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/__pycache__/lltranslator.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/__init__.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/argparse_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/collections_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/container.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/copy_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/csv_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/datetime_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/functools_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/hashlib_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/interpreter.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/io_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/itertools_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/json_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/llfunc.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/logging_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/mathstubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/operator_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/os_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/pathlib_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/pickle_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/random.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/re_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/sampler.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/shutil_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/subprocess_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/sys_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/tempfile_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/threading_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/__pycache__/time_stubs.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/collections_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/container.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/copy_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/datetime_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/functools_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/itertools_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/json_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/llfunc.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/mathstubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/__pycache__/__init__.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/__pycache__/float.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/__pycache__/int.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/__pycache__/str.cpython-313.pyc +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/float.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/int.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/objects/str.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/operator_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/pickle_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/random.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/re_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/sampler.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/sys_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/stubs/std/threading_stubs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/BFS.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Biconnectivity.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Bipartite.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/BipartiteMatching.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/CardinalityMatching.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Chordal.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/DFS.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Eratosthenes.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/GraphExamples.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Graphs.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/GrayGraph.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/IntegerPartitions.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/LCS.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/LexBFS.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/LongestIncreasingSubsequence.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/MinimumSpanningTree.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/PartialCube.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/PartitionRefinement.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Repetitivity.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Sequence.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/UnionFind.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Util.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/Wrap.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/PADS/xyzGraph.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/antlr3/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/antlr3/compat.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/antlr3/constants.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/antlr3/extras.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/antlr3/tokens.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/application/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/application/async_utils.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/application/compilerexceptions.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/application/console.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/application/errorhandler.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/canonical.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/debug/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/debug/blame.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/debug/debugger.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/debug/trace.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/graphalgorithim/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/graphalgorithim/basic.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/graphalgorithim/color.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/graphalgorithim/djtree.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/graphalgorithim/exclusiongraph.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/graphalgorithim/merge.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/io/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/io/formatting.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/io/report.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/io/xmloutput.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/json_dict.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/monkeypatch/__init__.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/monkeypatch/xcollections.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/monkeypatch/xmath.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/monkeypatch/xtypes.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/python/apply.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/singleton.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/tvl.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow/util/unionfind.py +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow_analysis.egg-info/dependency_links.txt +0 -0
- {pyflow_analysis-0.1.0 → pyflow_analysis-0.1.2}/src/pyflow_analysis.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pyflow-analysis
|
|
3
|
+
Version: 0.1.2
|
|
4
|
+
Summary: A static analysis framework for Python
|
|
5
|
+
Author-email: rainoftime <rainoftime@gmail.com>
|
|
6
|
+
Maintainer-email: rainoftime <rainoftime@gmail.com>
|
|
7
|
+
License: Apache-2.0
|
|
8
|
+
Keywords: python,compiler,static-analysis,optimization
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Software Development :: Compilers
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
License-File: LICENSE.txt
|
|
23
|
+
Requires-Dist: asciitree
|
|
24
|
+
Requires-Dist: graphviz
|
|
25
|
+
Requires-Dist: networkx
|
|
26
|
+
Requires-Dist: packaging
|
|
27
|
+
Requires-Dist: rstr
|
|
28
|
+
Requires-Dist: typing_inspect
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: z3-solver; extra == "dev"
|
|
31
|
+
Requires-Dist: pytest>=6.0; extra == "dev"
|
|
32
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-timeout>=2.3; extra == "dev"
|
|
34
|
+
Requires-Dist: black==26.10.0; extra == "dev"
|
|
35
|
+
Requires-Dist: flake8; extra == "dev"
|
|
36
|
+
Requires-Dist: mypy; extra == "dev"
|
|
37
|
+
Requires-Dist: tomli; python_version < "3.11" and extra == "dev"
|
|
38
|
+
Provides-Extra: test
|
|
39
|
+
Requires-Dist: z3-solver; extra == "test"
|
|
40
|
+
Requires-Dist: pytest>=6.0; extra == "test"
|
|
41
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
42
|
+
Requires-Dist: pytest-timeout>=2.3; extra == "test"
|
|
43
|
+
Requires-Dist: tomli; python_version < "3.11" and extra == "test"
|
|
44
|
+
Provides-Extra: callgraph
|
|
45
|
+
Requires-Dist: pycg==0.0.6; extra == "callgraph"
|
|
46
|
+
Provides-Extra: concolic
|
|
47
|
+
Requires-Dist: z3-solver; extra == "concolic"
|
|
48
|
+
Provides-Extra: supply-chain
|
|
49
|
+
Requires-Dist: jsonschema>=4.18; extra == "supply-chain"
|
|
50
|
+
Requires-Dist: sigstore>=3; extra == "supply-chain"
|
|
51
|
+
Dynamic: license-file
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# PyFlow: Static Analysis for Python
|
|
55
|
+
|
|
56
|
+
PyFlow is a program analysis framework for Python. It combines
|
|
57
|
+
program analysis infrastructure, experimental optimization passes, and security
|
|
58
|
+
checking in a single research-oriented toolkit.
|
|
59
|
+
|
|
60
|
+
Current status: **alpha**. The project already contains substantial analysis
|
|
61
|
+
and testing infrastructure, but APIs, pass behavior, and CLI details are still
|
|
62
|
+
evolving.
|
|
63
|
+
|
|
64
|
+
If you use pyflow in your research or work, please cite the following:
|
|
65
|
+
~~~~
|
|
66
|
+
@misc{pyflow2026,
|
|
67
|
+
title = {PyFlow: An Inter-procedural Static Analysis Framework for Python},
|
|
68
|
+
author = {Gu, Zinan and Yan, Haoxiang and Yao, Peisen},
|
|
69
|
+
year = {2026},
|
|
70
|
+
eprint = {2608.07026},
|
|
71
|
+
archivePrefix = {arXiv},
|
|
72
|
+
doi = {10.48550/arXiv.2608.07026},
|
|
73
|
+
url = {https://arxiv.org/abs/2608.07026}
|
|
74
|
+
}
|
|
75
|
+
~~~~
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
## What PyFlow includes
|
|
79
|
+
|
|
80
|
+
- **Intermediate representations**: seven-instruction MIR, CFG, CDG, DDG, PDG,
|
|
81
|
+
CPG, lowered data flow IR, and a shared store graph model
|
|
82
|
+
- **Program analysis**: call graph, IFDS, alias, IPA, CPA, shape, lifetime,
|
|
83
|
+
and type-analysis infrastructure
|
|
84
|
+
- **Optimization pipeline**: modular passes such as simplify, method-call
|
|
85
|
+
optimization, cloning, argument normalization, and load/store elimination
|
|
86
|
+
- **Security checking**: ast pattern, ast-dataflow, cpg, and ifds security analysis
|
|
87
|
+
- **Supply-chain analysis**: local SBOM generation, distribution integrity
|
|
88
|
+
auditing, and dependency metadata extraction
|
|
89
|
+
- **CLI tooling**: commands for optimization, call graph generation, IR dumps,
|
|
90
|
+
security, supply-chain, alias analysis, and concolic test-input generation
|
|
91
|
+
|
|
92
|
+
## Evaluation results
|
|
93
|
+
|
|
94
|
+
Security analysis engines evaluated on the PySASTBench microbenchmark
|
|
95
|
+
(ICSE 26):
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
python3 evaluation/pysastbench/bench_micro.py --timeout 45 --workers 16
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
| Engine | Precision | Recall | F1 | Accuracy |
|
|
102
|
+
|--------------|-----------|--------|-------|----------|
|
|
103
|
+
| ast-scanner | 0.623 | 0.400 | 0.487 | 0.579 |
|
|
104
|
+
| ast-dataflow | 0.849 | 0.842 | 0.845 | 0.846 |
|
|
105
|
+
| cpg | 0.792 | 0.792 | 0.792 | 0.792 |
|
|
106
|
+
| ifds | 0.852 | 0.767 | 0.807 | 0.817 |
|
|
107
|
+
|
|
108
|
+
## Installation and Usage
|
|
109
|
+
|
|
110
|
+
### Prerequisites
|
|
111
|
+
- Python 3.10 or newer
|
|
112
|
+
- Graphviz (for visualization features)
|
|
113
|
+
|
|
114
|
+
### Install from source
|
|
115
|
+
```bash
|
|
116
|
+
git clone https://github.com/ZJU-PL/pyflow.git
|
|
117
|
+
cd pyflow
|
|
118
|
+
pip install -e .
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
For development, install the dev extras:
|
|
122
|
+
```bash
|
|
123
|
+
pip install -e ".[dev]"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The native MIR-based PyCG algorithm is included in the standard installation.
|
|
127
|
+
If you want the optional upstream PyCG-backed call-graph algorithm, install:
|
|
128
|
+
```bash
|
|
129
|
+
pip install -e ".[dev,callgraph]"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
### Usage
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Dump IR for a specific function
|
|
138
|
+
pyflow ir input.py --dump-ast function_name
|
|
139
|
+
|
|
140
|
+
# Lower source to the seven-instruction MIR without executing the source
|
|
141
|
+
pyflow ir input.py --dump-mir --dump-format json --dump-output out/
|
|
142
|
+
|
|
143
|
+
# Generate a call graph
|
|
144
|
+
pyflow callgraph input.py
|
|
145
|
+
|
|
146
|
+
# Generate a native PyCG-style call graph from MIR
|
|
147
|
+
pyflow callgraph input.py --algorithm pycg-mir
|
|
148
|
+
|
|
149
|
+
# Generate a call graph with the optional upstream PyCG package
|
|
150
|
+
pyflow callgraph input.py --algorithm pycg
|
|
151
|
+
|
|
152
|
+
# Run security analysis (fast AST scan)
|
|
153
|
+
pyflow security input.py
|
|
154
|
+
|
|
155
|
+
# Run AST-based interprocedural taint dataflow
|
|
156
|
+
pyflow security input.py --engine ast-dataflow
|
|
157
|
+
|
|
158
|
+
# Run IFDS-backed interprocedural security analysis
|
|
159
|
+
pyflow security input.py --engine ifds --sources input --sinks eval
|
|
160
|
+
|
|
161
|
+
# Run CPG-based security analysis
|
|
162
|
+
pyflow security input.py --engine cpg --framework flask
|
|
163
|
+
|
|
164
|
+
# Run alias analysis (flow-sensitive heap or k-CFA pointer)
|
|
165
|
+
pyflow alias input.py --verbose
|
|
166
|
+
|
|
167
|
+
# Generate branch-covering integer inputs for a pure function named main
|
|
168
|
+
pyflow concolic input.py --inputs '[0]' --json
|
|
169
|
+
|
|
170
|
+
# Start the LSP server (Content-Length framed JSON-RPC)
|
|
171
|
+
pyflow lsp --root . --mode full
|
|
172
|
+
|
|
173
|
+
# Start the MCP server (newline-delimited JSON-RPC over stdio)
|
|
174
|
+
pyflow mcp --root . --mode full
|
|
175
|
+
|
|
176
|
+
# Run a one-shot semantic query
|
|
177
|
+
pyflow query . --get-callers package.module.function --pretty
|
|
178
|
+
|
|
179
|
+
# Generate a CycloneDX SBOM from local package metadata
|
|
180
|
+
pyflow supply-chain sbom package/
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
See [CLI.md](CLI.md) for the command reference,
|
|
184
|
+
[docs/source/ir/mir.rst](docs/source/ir/mir.rst) for MIR, the native PyCG API,
|
|
185
|
+
and implementation limits,
|
|
186
|
+
[docs/source/lsp.rst](docs/source/lsp.rst) for LSP, MCP, and semantic-query
|
|
187
|
+
integration, and `docs/` for broader project
|
|
188
|
+
documentation.
|
|
189
|
+
|
|
190
|
+
### Running Tests
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# Run the default unit-focused test suite
|
|
194
|
+
pytest
|
|
195
|
+
|
|
196
|
+
# Run integration tests explicitly
|
|
197
|
+
pytest -m integration tests/integration
|
|
198
|
+
|
|
199
|
+
# Run focused areas
|
|
200
|
+
pytest tests/ir
|
|
201
|
+
pytest tests/frontend
|
|
202
|
+
pytest tests/api
|
|
203
|
+
pytest tests/checker
|
|
204
|
+
```
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
|
|
2
|
+
# PyFlow: Static Analysis for Python
|
|
3
|
+
|
|
4
|
+
PyFlow is a program analysis framework for Python. It combines
|
|
5
|
+
program analysis infrastructure, experimental optimization passes, and security
|
|
6
|
+
checking in a single research-oriented toolkit.
|
|
7
|
+
|
|
8
|
+
Current status: **alpha**. The project already contains substantial analysis
|
|
9
|
+
and testing infrastructure, but APIs, pass behavior, and CLI details are still
|
|
10
|
+
evolving.
|
|
11
|
+
|
|
12
|
+
If you use pyflow in your research or work, please cite the following:
|
|
13
|
+
~~~~
|
|
14
|
+
@misc{pyflow2026,
|
|
15
|
+
title = {PyFlow: An Inter-procedural Static Analysis Framework for Python},
|
|
16
|
+
author = {Gu, Zinan and Yan, Haoxiang and Yao, Peisen},
|
|
17
|
+
year = {2026},
|
|
18
|
+
eprint = {2608.07026},
|
|
19
|
+
archivePrefix = {arXiv},
|
|
20
|
+
doi = {10.48550/arXiv.2608.07026},
|
|
21
|
+
url = {https://arxiv.org/abs/2608.07026}
|
|
22
|
+
}
|
|
23
|
+
~~~~
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## What PyFlow includes
|
|
27
|
+
|
|
28
|
+
- **Intermediate representations**: seven-instruction MIR, CFG, CDG, DDG, PDG,
|
|
29
|
+
CPG, lowered data flow IR, and a shared store graph model
|
|
30
|
+
- **Program analysis**: call graph, IFDS, alias, IPA, CPA, shape, lifetime,
|
|
31
|
+
and type-analysis infrastructure
|
|
32
|
+
- **Optimization pipeline**: modular passes such as simplify, method-call
|
|
33
|
+
optimization, cloning, argument normalization, and load/store elimination
|
|
34
|
+
- **Security checking**: ast pattern, ast-dataflow, cpg, and ifds security analysis
|
|
35
|
+
- **Supply-chain analysis**: local SBOM generation, distribution integrity
|
|
36
|
+
auditing, and dependency metadata extraction
|
|
37
|
+
- **CLI tooling**: commands for optimization, call graph generation, IR dumps,
|
|
38
|
+
security, supply-chain, alias analysis, and concolic test-input generation
|
|
39
|
+
|
|
40
|
+
## Evaluation results
|
|
41
|
+
|
|
42
|
+
Security analysis engines evaluated on the PySASTBench microbenchmark
|
|
43
|
+
(ICSE 26):
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
python3 evaluation/pysastbench/bench_micro.py --timeout 45 --workers 16
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
| Engine | Precision | Recall | F1 | Accuracy |
|
|
50
|
+
|--------------|-----------|--------|-------|----------|
|
|
51
|
+
| ast-scanner | 0.623 | 0.400 | 0.487 | 0.579 |
|
|
52
|
+
| ast-dataflow | 0.849 | 0.842 | 0.845 | 0.846 |
|
|
53
|
+
| cpg | 0.792 | 0.792 | 0.792 | 0.792 |
|
|
54
|
+
| ifds | 0.852 | 0.767 | 0.807 | 0.817 |
|
|
55
|
+
|
|
56
|
+
## Installation and Usage
|
|
57
|
+
|
|
58
|
+
### Prerequisites
|
|
59
|
+
- Python 3.10 or newer
|
|
60
|
+
- Graphviz (for visualization features)
|
|
61
|
+
|
|
62
|
+
### Install from source
|
|
63
|
+
```bash
|
|
64
|
+
git clone https://github.com/ZJU-PL/pyflow.git
|
|
65
|
+
cd pyflow
|
|
66
|
+
pip install -e .
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
For development, install the dev extras:
|
|
70
|
+
```bash
|
|
71
|
+
pip install -e ".[dev]"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The native MIR-based PyCG algorithm is included in the standard installation.
|
|
75
|
+
If you want the optional upstream PyCG-backed call-graph algorithm, install:
|
|
76
|
+
```bash
|
|
77
|
+
pip install -e ".[dev,callgraph]"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Usage
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Dump IR for a specific function
|
|
86
|
+
pyflow ir input.py --dump-ast function_name
|
|
87
|
+
|
|
88
|
+
# Lower source to the seven-instruction MIR without executing the source
|
|
89
|
+
pyflow ir input.py --dump-mir --dump-format json --dump-output out/
|
|
90
|
+
|
|
91
|
+
# Generate a call graph
|
|
92
|
+
pyflow callgraph input.py
|
|
93
|
+
|
|
94
|
+
# Generate a native PyCG-style call graph from MIR
|
|
95
|
+
pyflow callgraph input.py --algorithm pycg-mir
|
|
96
|
+
|
|
97
|
+
# Generate a call graph with the optional upstream PyCG package
|
|
98
|
+
pyflow callgraph input.py --algorithm pycg
|
|
99
|
+
|
|
100
|
+
# Run security analysis (fast AST scan)
|
|
101
|
+
pyflow security input.py
|
|
102
|
+
|
|
103
|
+
# Run AST-based interprocedural taint dataflow
|
|
104
|
+
pyflow security input.py --engine ast-dataflow
|
|
105
|
+
|
|
106
|
+
# Run IFDS-backed interprocedural security analysis
|
|
107
|
+
pyflow security input.py --engine ifds --sources input --sinks eval
|
|
108
|
+
|
|
109
|
+
# Run CPG-based security analysis
|
|
110
|
+
pyflow security input.py --engine cpg --framework flask
|
|
111
|
+
|
|
112
|
+
# Run alias analysis (flow-sensitive heap or k-CFA pointer)
|
|
113
|
+
pyflow alias input.py --verbose
|
|
114
|
+
|
|
115
|
+
# Generate branch-covering integer inputs for a pure function named main
|
|
116
|
+
pyflow concolic input.py --inputs '[0]' --json
|
|
117
|
+
|
|
118
|
+
# Start the LSP server (Content-Length framed JSON-RPC)
|
|
119
|
+
pyflow lsp --root . --mode full
|
|
120
|
+
|
|
121
|
+
# Start the MCP server (newline-delimited JSON-RPC over stdio)
|
|
122
|
+
pyflow mcp --root . --mode full
|
|
123
|
+
|
|
124
|
+
# Run a one-shot semantic query
|
|
125
|
+
pyflow query . --get-callers package.module.function --pretty
|
|
126
|
+
|
|
127
|
+
# Generate a CycloneDX SBOM from local package metadata
|
|
128
|
+
pyflow supply-chain sbom package/
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
See [CLI.md](CLI.md) for the command reference,
|
|
132
|
+
[docs/source/ir/mir.rst](docs/source/ir/mir.rst) for MIR, the native PyCG API,
|
|
133
|
+
and implementation limits,
|
|
134
|
+
[docs/source/lsp.rst](docs/source/lsp.rst) for LSP, MCP, and semantic-query
|
|
135
|
+
integration, and `docs/` for broader project
|
|
136
|
+
documentation.
|
|
137
|
+
|
|
138
|
+
### Running Tests
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# Run the default unit-focused test suite
|
|
142
|
+
pytest
|
|
143
|
+
|
|
144
|
+
# Run integration tests explicitly
|
|
145
|
+
pytest -m integration tests/integration
|
|
146
|
+
|
|
147
|
+
# Run focused areas
|
|
148
|
+
pytest tests/ir
|
|
149
|
+
pytest tests/frontend
|
|
150
|
+
pytest tests/api
|
|
151
|
+
pytest tests/checker
|
|
152
|
+
```
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Copyright 2025-2026 rainoftime
|
|
2
|
+
|
|
3
|
+
[build-system]
|
|
4
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
5
|
+
build-backend = "setuptools.build_meta"
|
|
6
|
+
|
|
7
|
+
[project]
|
|
8
|
+
name = "pyflow-analysis"
|
|
9
|
+
dynamic = ["version"]
|
|
10
|
+
description = "A static analysis framework for Python"
|
|
11
|
+
readme = "README.md"
|
|
12
|
+
license = {text = "Apache-2.0"}
|
|
13
|
+
authors = [
|
|
14
|
+
{name = "rainoftime", email = "rainoftime@gmail.com"}
|
|
15
|
+
]
|
|
16
|
+
maintainers = [
|
|
17
|
+
{name = "rainoftime", email = "rainoftime@gmail.com"}
|
|
18
|
+
]
|
|
19
|
+
keywords = ["python", "compiler", "static-analysis", "optimization"]
|
|
20
|
+
classifiers = [
|
|
21
|
+
"Development Status :: 3 - Alpha",
|
|
22
|
+
"Intended Audience :: Developers",
|
|
23
|
+
"License :: OSI Approved :: Apache Software License",
|
|
24
|
+
"Operating System :: OS Independent",
|
|
25
|
+
"Programming Language :: Python :: 3",
|
|
26
|
+
"Programming Language :: Python :: 3.10",
|
|
27
|
+
"Programming Language :: Python :: 3.11",
|
|
28
|
+
"Programming Language :: Python :: 3.12",
|
|
29
|
+
"Programming Language :: Python :: 3.13",
|
|
30
|
+
"Topic :: Software Development :: Compilers",
|
|
31
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
32
|
+
]
|
|
33
|
+
requires-python = ">=3.10"
|
|
34
|
+
dependencies = [
|
|
35
|
+
"asciitree",
|
|
36
|
+
"graphviz",
|
|
37
|
+
"networkx",
|
|
38
|
+
"packaging",
|
|
39
|
+
"rstr",
|
|
40
|
+
"typing_inspect"
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
[project.optional-dependencies]
|
|
44
|
+
dev = [
|
|
45
|
+
"z3-solver",
|
|
46
|
+
"pytest>=6.0",
|
|
47
|
+
"pytest-cov",
|
|
48
|
+
"pytest-timeout>=2.3",
|
|
49
|
+
"black==26.10.0",
|
|
50
|
+
"flake8",
|
|
51
|
+
"mypy",
|
|
52
|
+
"tomli; python_version < '3.11'"
|
|
53
|
+
]
|
|
54
|
+
# a3-python is a standalone third-party package at third-party/a3_python/.
|
|
55
|
+
# Install it separately: pip install -e third-party/a3_python
|
|
56
|
+
test = [
|
|
57
|
+
"z3-solver",
|
|
58
|
+
"pytest>=6.0",
|
|
59
|
+
"pytest-cov",
|
|
60
|
+
"pytest-timeout>=2.3",
|
|
61
|
+
"tomli; python_version < '3.11'",
|
|
62
|
+
]
|
|
63
|
+
callgraph = [
|
|
64
|
+
"pycg==0.0.6",
|
|
65
|
+
]
|
|
66
|
+
concolic = [
|
|
67
|
+
"z3-solver",
|
|
68
|
+
]
|
|
69
|
+
supply-chain = [
|
|
70
|
+
"jsonschema>=4.18",
|
|
71
|
+
"sigstore>=3",
|
|
72
|
+
]
|
|
73
|
+
|
|
74
|
+
[project.scripts]
|
|
75
|
+
pyflow = "pyflow.cli.main:entrypoint"
|
|
76
|
+
|
|
77
|
+
[tool.setuptools.packages.find]
|
|
78
|
+
where = ["src"]
|
|
79
|
+
|
|
80
|
+
[tool.setuptools.dynamic]
|
|
81
|
+
version = {attr = "pyflow.__version__"}
|
|
82
|
+
|
|
83
|
+
[tool.setuptools.package-data]
|
|
84
|
+
pyflow = ["lib/**/*", "stubs/**/*", "config/**/*", "analysis/alias/kcfa/_pythonstan/stubs/**/*"]
|
|
85
|
+
|
|
86
|
+
[tool.pytest.ini_options]
|
|
87
|
+
testpaths = ["tests"]
|
|
88
|
+
python_files = ["test_*.py", "*_test.py"]
|
|
89
|
+
python_classes = ["Test*"]
|
|
90
|
+
python_functions = ["test*"]
|
|
91
|
+
norecursedirs = ["tests/full"]
|
|
92
|
+
markers = [
|
|
93
|
+
"integration: integration tests (CLI, full pipeline); run with -m integration",
|
|
94
|
+
"slow: slow-running tests excluded from the default fast path by convention",
|
|
95
|
+
]
|
|
96
|
+
addopts = [
|
|
97
|
+
"--strict-markers",
|
|
98
|
+
"--strict-config",
|
|
99
|
+
"--verbose",
|
|
100
|
+
"-m",
|
|
101
|
+
"not integration",
|
|
102
|
+
#"-W", "ignore::DeprecationWarning",
|
|
103
|
+
"-W",
|
|
104
|
+
"ignore::pytest.PytestUnhandledThreadExceptionWarning",
|
|
105
|
+
]
|
|
106
|
+
timeout = 120
|
|
107
|
+
timeout_method = "thread"
|
|
108
|
+
|
|
109
|
+
[tool.black]
|
|
110
|
+
line-length = 100
|
|
111
|
+
target-version = ['py310']
|
|
112
|
+
include = '\.pyi?$'
|
|
113
|
+
extend-exclude = '''
|
|
114
|
+
/(
|
|
115
|
+
# directories
|
|
116
|
+
\.eggs
|
|
117
|
+
| \.git
|
|
118
|
+
| \.hg
|
|
119
|
+
| \.mypy_cache
|
|
120
|
+
| \.tox
|
|
121
|
+
| \.venv
|
|
122
|
+
| venv
|
|
123
|
+
| _build
|
|
124
|
+
| buck-out
|
|
125
|
+
| build
|
|
126
|
+
| dist
|
|
127
|
+
| third-party
|
|
128
|
+
)/
|
|
129
|
+
'''
|
|
130
|
+
|
|
131
|
+
[tool.mypy]
|
|
132
|
+
python_version = "3.10"
|
|
133
|
+
warn_return_any = true
|
|
134
|
+
warn_unused_configs = true
|
|
135
|
+
disallow_untyped_defs = false
|
|
136
|
+
disallow_incomplete_defs = false
|
|
137
|
+
check_untyped_defs = true
|
|
138
|
+
disallow_untyped_decorators = false
|
|
139
|
+
no_implicit_optional = true
|
|
140
|
+
warn_redundant_casts = true
|
|
141
|
+
warn_unused_ignores = true
|
|
142
|
+
warn_no_return = true
|
|
143
|
+
warn_unreachable = true
|
|
144
|
+
strict_equality = true
|
|
145
|
+
|
|
146
|
+
[[tool.mypy.overrides]]
|
|
147
|
+
module = [
|
|
148
|
+
"antlr3.*",
|
|
149
|
+
"PADS.*",
|
|
150
|
+
"pydot",
|
|
151
|
+
]
|
|
152
|
+
ignore_missing_imports = true
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Analysis modules for PyFlow static analysis.
|
|
2
|
+
|
|
3
|
+
This package contains various analysis modules for static analysis of Python
|
|
4
|
+
code, including control flow analysis, data flow analysis, inter-procedural
|
|
5
|
+
analysis, constraint-based analysis, and shape analysis.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
# Import main analysis modules
|
|
9
|
+
from . import shape
|
|
10
|
+
from . import ipa
|
|
11
|
+
from . import cpa
|
|
12
|
+
from . import fsdf
|
|
13
|
+
from . import alias
|
|
14
|
+
from . import ifds
|
|
15
|
+
from . import taint_policy
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"""Heap abstraction model for static analysis.
|
|
2
|
+
|
|
3
|
+
The heap model provides canonical :class:`HeapLocation` objects,
|
|
4
|
+
:class:`HeapAbstraction` for alias tracking and strong/weak update policy,
|
|
5
|
+
and factory classes for translating Python IR operations into heap effects.
|
|
6
|
+
|
|
7
|
+
Submodules
|
|
8
|
+
----------
|
|
9
|
+
* :mod:`.model` — Data model: enums, HeapPolicy, HeapObject, HeapLocation, HeapSelector, HeapWrite
|
|
10
|
+
* :mod:`.abstraction` — HeapAbstraction engine: canonicalization, alias tracking, update policies
|
|
11
|
+
* :mod:`.heap_effects` — Translates IR operations into HeapEffect records
|
|
12
|
+
* :mod:`.heap_state` — Flow-sensitive, path-insensitive value state
|
|
13
|
+
* :mod:`.heap_summary` — Procedure-level heap summaries
|
|
14
|
+
* :mod:`.points_to_graph` — Read-only PointsToGraph snapshot for optimization passes
|
|
15
|
+
* :mod:`.heap_analysis` — Standalone HeapAnalysis engine and pass integration
|
|
16
|
+
* :mod:`.intrinsics` — Heap-owned built-in call and collection models
|
|
17
|
+
* :mod:`.transfer` — Standalone forward transfer engine
|
|
18
|
+
|
|
19
|
+
Examples
|
|
20
|
+
--------
|
|
21
|
+
|
|
22
|
+
>>> from pyflow.analysis.alias.flow_sensitive import HeapPolicy, HeapAbstraction, HeapEffect
|
|
23
|
+
|
|
24
|
+
>>> policy = HeapPolicy.context_sensitive(depth=2)
|
|
25
|
+
>>> policy.validate() # catch misconfigurations early
|
|
26
|
+
|
|
27
|
+
>>> effect = HeapEffect(reads=(...), writes=(...))
|
|
28
|
+
>>> bool(effect)
|
|
29
|
+
True
|
|
30
|
+
>>> effect.is_empty
|
|
31
|
+
False
|
|
32
|
+
>>> merged = effect.merge(other_effect)
|
|
33
|
+
|
|
34
|
+
>>> heap = HeapAbstraction(raw_storage_provider, policy=policy)
|
|
35
|
+
>>> heap.to_dict()
|
|
36
|
+
{'policy': {...}, 'next_site': 0, 'cached_objects': 0, ...}
|
|
37
|
+
|
|
38
|
+
Standalone ``HeapAnalysis`` performs a flow-sensitive, path-insensitive
|
|
39
|
+
forward sweep over discoverable code objects. It keeps precise field and
|
|
40
|
+
literal-key values when possible and records wildcard writes as contaminating
|
|
41
|
+
overlapping paths instead of flattening unrelated exact facts.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
from .model import (
|
|
45
|
+
AllocationSensitivity,
|
|
46
|
+
ContainerSensitivity,
|
|
47
|
+
FieldSensitivity,
|
|
48
|
+
HeapEscapeState,
|
|
49
|
+
HeapLocation,
|
|
50
|
+
HeapObject,
|
|
51
|
+
HeapObjectCardinality,
|
|
52
|
+
HeapObjectIdentity,
|
|
53
|
+
HeapObjectFreshness,
|
|
54
|
+
HeapObjectKind,
|
|
55
|
+
HeapPolicy,
|
|
56
|
+
HeapSelector,
|
|
57
|
+
HeapWrite,
|
|
58
|
+
RawStorageProvider,
|
|
59
|
+
UpdatePolicy,
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
from .domain.abstraction import (
|
|
63
|
+
HeapAbstraction,
|
|
64
|
+
HeapEnvironment,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
from .semantics.effects import (
|
|
68
|
+
CALL_RETURN_COPY,
|
|
69
|
+
CALL_RETURN_FRESH,
|
|
70
|
+
CALL_RETURN_OPAQUE,
|
|
71
|
+
CALL_RETURN_SUMMARY,
|
|
72
|
+
COLLECTION_DELETE_MUTATOR_NAMES,
|
|
73
|
+
COLLECTION_VALUE_MUTATOR_NAMES,
|
|
74
|
+
DEFAULT_COLLECTION_MUTATOR_NAMES,
|
|
75
|
+
HeapEffect,
|
|
76
|
+
HeapEffectBuilder,
|
|
77
|
+
HeapOperationSemantics,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
from .semantics.intrinsics import (
|
|
81
|
+
CollectionMutatorModel,
|
|
82
|
+
DEFAULT_HEAP_INTRINSICS,
|
|
83
|
+
HeapIntrinsicModels,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
from .domain.state import HeapState
|
|
87
|
+
|
|
88
|
+
from .domain.summary import (
|
|
89
|
+
HeapSummary,
|
|
90
|
+
HeapSummaryBuilder,
|
|
91
|
+
ProcedureHeapSummary,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
from .domain.points_to import (
|
|
95
|
+
HeapValueSnapshot,
|
|
96
|
+
PossibleValues,
|
|
97
|
+
PointsToEntry,
|
|
98
|
+
PointsToGraph,
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
from .heap_analysis import (
|
|
102
|
+
HeapAnalysis,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
from .transfer import HeapTransferEngine
|
|
106
|
+
|
|
107
|
+
# Preserve the historical module paths while keeping implementation files in
|
|
108
|
+
# responsibility-focused subpackages.
|
|
109
|
+
import sys as _sys
|
|
110
|
+
|
|
111
|
+
from .domain import abstraction as _abstraction_module
|
|
112
|
+
from .domain import points_to as _points_to_module
|
|
113
|
+
from .domain import state as _state_module
|
|
114
|
+
from .domain import summary as _summary_module
|
|
115
|
+
from .semantics import effects as _effects_module
|
|
116
|
+
from .semantics import intrinsics as _intrinsics_module
|
|
117
|
+
|
|
118
|
+
_LEGACY_MODULES = {
|
|
119
|
+
"abstraction": _abstraction_module,
|
|
120
|
+
"heap_effects": _effects_module,
|
|
121
|
+
"heap_state": _state_module,
|
|
122
|
+
"heap_summary": _summary_module,
|
|
123
|
+
"intrinsics": _intrinsics_module,
|
|
124
|
+
"points_to_graph": _points_to_module,
|
|
125
|
+
}
|
|
126
|
+
for _legacy_name, _legacy_module in _LEGACY_MODULES.items():
|
|
127
|
+
_sys.modules[f"{__name__}.{_legacy_name}"] = _legacy_module
|
|
128
|
+
globals()[_legacy_name] = _legacy_module
|
|
129
|
+
|
|
130
|
+
__all__ = [
|
|
131
|
+
"AllocationSensitivity",
|
|
132
|
+
"CALL_RETURN_COPY",
|
|
133
|
+
"CALL_RETURN_FRESH",
|
|
134
|
+
"CALL_RETURN_OPAQUE",
|
|
135
|
+
"CALL_RETURN_SUMMARY",
|
|
136
|
+
"COLLECTION_DELETE_MUTATOR_NAMES",
|
|
137
|
+
"COLLECTION_VALUE_MUTATOR_NAMES",
|
|
138
|
+
"CollectionMutatorModel",
|
|
139
|
+
"ContainerSensitivity",
|
|
140
|
+
"DEFAULT_COLLECTION_MUTATOR_NAMES",
|
|
141
|
+
"DEFAULT_HEAP_INTRINSICS",
|
|
142
|
+
"FieldSensitivity",
|
|
143
|
+
"HeapAbstraction",
|
|
144
|
+
"HeapAnalysis",
|
|
145
|
+
"HeapEffect",
|
|
146
|
+
"HeapEffectBuilder",
|
|
147
|
+
"HeapOperationSemantics",
|
|
148
|
+
"HeapEnvironment",
|
|
149
|
+
"HeapEscapeState",
|
|
150
|
+
"HeapLocation",
|
|
151
|
+
"HeapObject",
|
|
152
|
+
"HeapObjectCardinality",
|
|
153
|
+
"HeapObjectIdentity",
|
|
154
|
+
"HeapObjectFreshness",
|
|
155
|
+
"HeapObjectKind",
|
|
156
|
+
"HeapPolicy",
|
|
157
|
+
"HeapSelector",
|
|
158
|
+
"HeapState",
|
|
159
|
+
"HeapSummary",
|
|
160
|
+
"HeapTransferEngine",
|
|
161
|
+
"HeapIntrinsicModels",
|
|
162
|
+
"HeapSummaryBuilder",
|
|
163
|
+
"ProcedureHeapSummary",
|
|
164
|
+
"HeapWrite",
|
|
165
|
+
"HeapValueSnapshot",
|
|
166
|
+
"PointsToEntry",
|
|
167
|
+
"PointsToGraph",
|
|
168
|
+
"PossibleValues",
|
|
169
|
+
"RawStorageProvider",
|
|
170
|
+
"UpdatePolicy",
|
|
171
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Heap abstraction state, summaries, and query snapshots."""
|