My internet search hasn't really resulted in anything so I figured I'd crowdsource my problem.
I've found myself tasked with analyzing somewhat complex code bases few times now. I've used tools such as NDepend, etc. to build dependency graphs to help in this but I've always found these lacking in some ways.
Essentially I'd wish for a tool that… – Allows me to manually add functions I'm interested in. One of the problems with tools like NDepend is that the resulting mess it ends up displaying contains everything. Often I'm only interested in few specific functions and the call graphs between them. – Allows me to annotate the functions based on my findings. In older code bases the actual work the function does might not match the function name. I want a way to write virtual post it notes on the functions that I'm tracking. – Keeps track of the call order. If a function does a check for admin rights and calls rm -rf, I want to keep track which one is done first. – Allows annotating the call conditions. I want to be able to know whether a call is guaranteed to happen or whether it depends on some if conditions, etc. – Is language agnostic.
I've done this once or so with pen and paper, but adding new function calls in the middle of everything quickly became a mess.
I've pondered using UML sequence diagram tools, but sequence diagrams are designed for a single call path and don't scale that well into multiple alternative call paths within the same diagram.
Has anyone encountered such a tool?
submitted by /u/Wace
[link] [comments]
from Software Development – methodologies, techniques, and tools. Covering Agile, RUP, Waterfall + more! https://ift.tt/2ETvUvE