1. A method comprising: utilizing at least one processor to execute computer code configured to perform the steps of: extracting file system structures corresponding to each of at least two software products; identifying, from the file system structures, matching subtrees that represent subtrees of more than one directory across the at least two software products; and based on the candidate subtrees, generating a dependency graph which indicates: common components across at least two software products; and dependencies among the common components.