Patent ID: 7568192

Claim:
A method comprising: a) receiving a plurality of samples of at least one object reference graph, wherein each object reference graph comprises live objects from a target application program, and their references; b) deriving a set of candidate data structures exhibiting a problematic data structure evolution, from the samples; c) collecting a plurality of properties of each of the live objects in each of the candidate data structures in relation to data structures over time; and d) using a mixture model, combining the plurality of the properties of each live object in a non-linear manner for ranking leak root candidates within each set of candidate data structures; wherein using the mixture model comprises: applying binary metrics to each of the candidate data structures for generating a set of potential leak root candidates, wherein leak roots comprise root objects of a leaking data structure, and wherein the binary metrics comprise attributes of: leaf nodes, arrays, internal nodes, non-owners, no age intersection, new arrays only, no fringe, and no data type intersection; assigning a binary metric value to each candidate, wherein a value of zero indicates the candidate data structure is definitely not a leak root candidate and wherein a value of one indicates said candidate data structure is a highly probable leak root candidate; and filtering out candidate data structures with any binary metric assigned a value of zero.