GaloisInc / MATE

MATE is a suite of tools for interactive program analysis with a focus on hunting for bugs in C and C++ code using Code Property Graphs.
https://galoisinc.github.io/MATE/
BSD 3-Clause "New" or "Revised" License
177 stars 12 forks source link

Flowfinder: Show incoming/outgoing edges by kind #17

Open langston-barrett opened 2 years ago

langston-barrett commented 2 years ago

I think it would be useful and quite general to add two new context menu items that work on any kind of node, one for showing incoming edges and one for showing outgoing edges. An initial version might just show all edges in the given direction, whereas a more advanced iteration might allow (but not require) filtering by edge kinds, possibly even limited to edge kinds that are valid in said direction from the given node kind, according to the schema (endpoints.json).

This would not only make it easy to find very particular paths (e.g. just a subset of data flow entering/exiting from a given node) to reduce clutter, but would also expose a whole bunch of nodes and edges that aren't yet visible in Flowfinder, like LLVM type nodes for instance.