That’s effectively what Sourcetrail/Coati does in C/C++. Coati was super-helpful for me many years ago when I had to dissect and analyze some crappy vendor code. It also helped me get up to speed on a bunch of C++ spaghetti code on the same project. They hit the nail on the head with their tool and I’ve been using it off and on ever since. I’m actually wondering now if it could be used to analyze Yocto project dependencies and build steps.
I was using Sourcetrail in the past, and I thought it was only an interactive code field/method browser, and didn't have any way to trace causality... unless I missed some functionality.
I was able to use it to trace causality because the code base I used it for was simple enough that given the relationships between each variable and function call I was able to construct the call graph for a particular set of inputs myself.
Is Sourcetrail and a document for taking notes measurably better than having an IDE with 2 panes, "go to definition" and "find all references", and a document for taking notes? In my experience it's not really, and it was tricky to setup Sourcetrail for a given project.
I saw in another comment saying Sourcetrail supplies "who-implements-who". CLion gives you this, Qt Creator doesn't really (outside of Find References), and I'm not sure about VS Code Clangd or Microsoft C++.
Well it’s a matter of friction. Clion gives you the same information but for each item in the chain you have to click on it bunches. In Sourcetrail you mouse over the symbol and click once. And it exposes the dependencies graphically so you can see who uses it. I hardly use that function in Clion but I use it all the time in Sourcetrail because the way it’s presented is easier for me to read and understand.