https://123dok.net/document/wyeld97q-supporting-reuse-by-reverse-engineering-software-architecture-and-component-from-object-oriented-product-variants-and-apis.html