angr.analyses.cfg_slice_to_sink.cfg_slice_to_sink¶
- class angr.analyses.cfg_slice_to_sink.cfg_slice_to_sink.CFGSliceToSink¶
Bases:
objectThe representation of a slice of a CFG.
- __init__(target, transitions=None)¶
- Parameters:
target (angr.knowledge_plugins.functions.function.Function) – The targeted sink, to which every path in the slice leads.
transitions (Dict[int,List[int]]) – A mapping representing transitions in the graph. Indexes are source addresses and values a list of destination addresses, for which there exists a transition in the slice from source to destination.
- property transitions_as_tuples¶
The list of transitions as pairs of (source, destination).
- property target¶
return angr.knowledge_plugins.functions.function.Function: The targeted sink function, from which the slice is constructed.
- property entrypoints¶
Entrypoints are all source addresses that are not the destination address of any transition.
- Return List[int]:
The list of entrypoints addresses.
- add_transitions(transitions)¶
Add the given transitions to the current slice.
- is_empty()¶
Test if a given slice does not contain any transition.
- Return bool:
True if the <CFGSliceToSink> instance does not contain any transitions. False otherwise.
- path_between(source, destination, visited=None)¶
Check the existence of a path in the slice between two given node addresses.
- Parameters:
- Return type:
- Returns:
True if there is a path between the source and the destination in the CFG, False if not, or if we have been unable to decide (because of loops).