How do you know when things might interact when you don't know the premises of the system?
By deliberately breaking it. When you make a change and something else breaks you know immediately that those components are coupled. No reading/mapping required. Once that coupling is identified you can focus your code reading to understanding how tightly or loosely coupled they really are.
Rinse and repeat. It might seem simplistic or naive, however, once you've spent hours/days reading and mapping code, you're ultimately going to need to run it and modify it. In which case you are going to break it and learn something about component interactions that reading alone didn't tell you. My personal preference is to skip all that business up front and dive in. I'll still end up reading all the code. Just focused on certain areas of functionality one at a time.
When a technical person who isn’t familiar with patent law reads a patent they often come away with a misunderstanding of what the patent actually covers – usually thinking that it is much broader than it actually is. This gives the impression that the patent covers things it doesn’t, and then leads to the impression that it is overly broad, obvious and shouldn’t have been granted.
My impression that a patent is overly broad does not stem from a misunderstanding from reading the patent. It comes from the overly broad litigation tactics wielded by the patent holder.
We are not a clone.