I've found Source Sourcetrail (https://www.sourcetrail.com/) an invaluable tool in aiding program comprehension, especially in C++ projects.
There's another interesting program comprehension tool based on dynamic analysis (as opposed to Sourcetrail's static analysis), which I've yet to try: http://findtheflow.io/
There's another interesting program comprehension tool based on dynamic analysis (as opposed to Sourcetrail's static analysis), which I've yet to try: http://findtheflow.io/