3. The method of claim 1 , wherein matching the identified keywords against the plurality of text patterns includes: pre-filtering the plurality of text patterns to create a set of text patterns that potentially include language relevant to the due diligence review; generating a signature for the at least one source file; generating a signature for each of the text patterns in the set of text patterns that potentially include language relevant to the due diligence review; comparing the signature generated for the at least one source file to the signatures generated for the text patterns in the set of text patterns; and executing a multi-pattern search algorithm if one or more of the text patterns have signatures that match the signature of the source file, wherein the multi-pattern search algorithm determines whether the signature match is an actual match or a false positive.
3. The method of claim 1 , wherein matching the identified keywords against the plurality of text patterns includes: pre-filtering the plurality of text patterns to create a set of text patterns that potentially include language relevant to the due diligence review; generating a signature for the at least one source file; generating a signature for each of the text patterns in the set of text patterns that potentially include language relevant to the due diligence review; comparing the signature generated for the at least one source file to the signatures generated for the text patterns in the set of text patterns; and executing a multi-pattern search algorithm if one or more of the text patterns have signatures that match the signature of the source file, wherein the multi-pattern search algorithm determines whether the signature match is an actual match or a false positive. 6. The method of claim 3 , wherein pre-filtering the plurality of text patterns includes: discarding any of the plurality of text patterns that do not include at least one of the identified keywords, wherein discarding the text patterns that do not include at least one of the identified keywords results in a global set of text patterns; and identifying one or more text patterns in the global set of text patterns that have previously resulted in matches for other software known to be relevant to the software subject to the due diligence review, wherein identifying the text patterns that have previously resulted in matches for the other software results in a local set of text patterns.