19. The system of claim 16 , wherein producing a report comprises: comparing the subset of candidate versions to a licensing database, the licensing database including licensing information for a plurality of versions of components; and producing a licensing report including licensing information for the subset of candidate versions based on the comparison.
16. A system for identifying software component versions on a file system, the system comprising: a processor; and a non-transitory computer-readable medium having executable code, the executable code executed by the processor to perform steps of: scanning a plurality of target files to obtain content-based file identifiers; comparing each content-based file identifier to identifiers in a reference library to determine a plurality of candidate versions of software components, each candidate version corresponding to at least one of the content-based file identifiers; identifying a subset of candidate versions from the plurality of candidate versions as present on the file system by, for each candidate version in the plurality of candidate versions: determining whether the content-based file identifiers uniquely identify the candidate version using the reference library, a content-based file identifier uniquely identifying the candidate version responsive to the content-based file identifier matching an identifier in the reference library that is associated with the candidate version but is not associated with other candidate versions; and responsive to the content-based file identifiers uniquely identifying the candidate version, determining that the candidate version is present on the file system; and producing a report including the subset of candidate versions identified as present on the file system.