CFGAccurate.remove_cycles() function never removes any cycles
See original GitHub issueFunction CFGAccurate.remove_cycles() does not remove any cycles from CFG because of type mismatch.
cfg._loop_back_edges
returns edges with Blocknode
types while the cfg._graph
has CFGnode
type.
The if self._graph.has_edge(b1, b2):
condition inside the function never becomes true even if the edge is present in the graph. So the loop back edge never gets removed from the graph
Issue Analytics
- State:
- Created 5 years ago
- Reactions:1
- Comments:6 (2 by maintainers)
Top Results From Across the Web
CFG - angr Documentation
string_references() returns a list of all the constant strings that were referred to at any point in the function. They are formatted as...
Read more >How to remove cycles from a directed graph
You can always make a digraph acyclic by removing all edges. The goal in feedback arc set is to remove the minimum number...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
cfg.get_any_node(addr)
should give you theCFGNode
w.r.t. the given address. This is without considering context-sensitivity.This issue has been closed due to inactivity.