mate.server.api.graphs.queries module

mate.server.api.graphs.queries.get_alias_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the memory aliasing graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_call_graph_slice(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, source_id: str, sink_id: str) mate_common.models.graphs.FlowfinderGraph
Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • source_id (str) –

  • sink_id (str) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_callees_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the callees graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_callers_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the callers graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_callsites_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the callsites graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_control_dependence_slice(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, source_id: str, sink_id: str) mate_common.models.graphs.FlowfinderGraph

Computes the mutual control dependence between source_id and sink_id.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • source_id (str) –

  • sink_id (str) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_control_flow_slice(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, source_id: str, sink_id: str) mate_common.models.graphs.FlowfinderGraph

Computes the dataflow slice between source_id and sink_id.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • source_id (str) –

  • sink_id (str) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_dataflow_slice(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, source_id: str, sink_id: str, avoid_node_ids: Optional[List[str]], focus_node_ids: Optional[List[str]]) mate_common.models.graphs.FlowfinderGraph

Computes the dataflow slice between source_id and sink_id.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • source_id (str) –

  • sink_id (str) –

  • avoid_node_ids (Optional[List[str]]) –

  • focus_node_ids (Optional[List[str]]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_forward_allocation_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the allocation graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_forward_control_dependence_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph
Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_forward_control_flow_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the control flow graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_forward_dataflow_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the dataflow graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_memory_subregion_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str], reverse: bool = False) mate_common.models.graphs.FlowfinderGraph

Computes the memory containment graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

  • reverse (bool) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_operand_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the operands graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_points_to_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str], reverse: bool = False) mate_common.models.graphs.FlowfinderGraph

Computes the points_to graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

  • reverse (bool) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_points_to_reachable_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str], reverse: bool = False) mate_common.models.graphs.FlowfinderGraph

Computes the pointers graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

  • reverse (bool) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_reverse_allocation_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the allocation graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_reverse_control_dependence_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph
Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_reverse_control_flow_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the control flow graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_reverse_dataflow_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the dataflow graph reaching each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_signatures_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the signatures graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph

mate.server.api.graphs.queries.get_use_graph(session: sqlalchemy.orm.session.Session, cpg: mate_query.db.Graph, origin_ids: List[str]) mate_common.models.graphs.FlowfinderGraph

Computes the use graph from each of the origin nodes.

Parameters
  • session (sqlalchemy.orm.session.Session) –

  • cpg (mate_query.db.Graph) –

  • origin_ids (List[str]) –

Return type

mate_common.models.graphs.FlowfinderGraph