As a software developer, I sometimes need to join different existing running projects.<p>Most of the time we use Java, where polymorphism, inheritance, and reflection make it a hell to follow (even with a debugger). Most of the code is not documented of course.<p>Approaches and relevant programs would be welcomed