Patent ID: 8495568

Claim:
A software recipe method comprising: identifying two or more software patterns within a software environment; identifying at least one relationship between the two or more software patterns; defining a software recipe including the two or more software patterns and the at least one relationship; determining a strength of the at least one relationship wherein the strength is based upon, at least in part, one or more of: a distance between the two or more software patterns, wherein the distance is determined based upon, at least in part, one or more of (1) the two or more software patterns being found in a same software package and (2) the two or more software patterns being found within different software projects; and a degree of separation between the two or more software patterns, wherein the degree of separation is determined based upon, at least in part, one or more of (1) a first pattern of the two or more software patterns being a sub-pattern of a second pattern of the two or more software patterns, and (2) an output of a third pattern of the two or more software patterns being an input to a fourth pattern of the two or more software patterns; and determining whether the defined software recipe matches a software recipe paradigm, including determining whether the defined software recipe represents a new software recipe or a known software recipe.