Patent Document ID: 8479161
Application ID: 12406567

Base Claim:
1. A method execute by a processor for performing software due diligence review, comprising: receiving software subject to due diligence review, wherein the received software includes at least one source file; exposing plain text information for the at least one source file; searching the plain text information for the at least one source file to identify one or more keywords relevant to the due diligence review, wherein searching the plain text information to identify the one or more keywords includes identifying one or more normal keywords that indicate language potentially relevant to the due diligence review, identifying one or more negative keywords that indicate language irrelevant to the due diligence review, wherein a threshold proximity is associated with each of the respective negative keywords, negating at least one of the normal keywords if the at least one normal keyword appears within the threshold proximity associated with one or more of the negative keywords, identifying a plurality of weak normal keywords that indicate language potentially relevant to the due diligence review, wherein a threshold value is associated with each of the respective weak normal keywords, incrementing a normal counter according to the threshold values associated with each of the respective weak normal keywords, and triggering a keyword match for the plurality of weak normal keywords if the normal counter exceeds a first threshold value; matching the identified keywords against a plurality of text patterns that contain excerpts of language relevant to the due diligence review; and constructing a report providing information relating to the due diligence review, wherein the report indicates whether the software has potential compliance problems regarding one or more of software licenses, export regulations, or internal security policies.

---

Claim 10:
10. The method of claim 1 , further comprising: determining whether any of the identified keywords have not been matched to one or more of the plurality of text patterns; forwarding the unmatched keywords to a manual review editor, wherein a user creates a new text pattern for the unmatched keywords; and adding the new text pattern to the plurality of text patterns to make the new text pattern available in a subsequent due diligence review.