If you have the source code for the application, you are most likely reengineering it, not reverse engineering. (The latter means recovering some higher-level code from machine or byte code).
Anyway, you want to understand the application, i.e. create a mental model in your mind. I am afraid that automatic tools do not help much in this. What good is it for you to get a list of suggested patterns in your code? Would it help you better understand what the code actually does and why? Especially taking into account the high chances of using templates in legacy code: - (
In the end, you still need to read the code. But here is another similar thread , which, I hope, will help to capture an outdated application in a difficult task.
source share