Patent ID: 7539975

Claim:
A method for determining standard JAVA objects, the method comprising the steps of: determining standard and non-standard packages or collections of JAVA objects; extracting class data from standard JAVA objects; extracting class data from non-standard JAVA objects; wherein the class data is taken directly from a binary class file for the JAVA object; creating training data from the extracted class data; wherein the training data is dynamically extracted from a set of JAVA objects extracting information about JAVA objects by calling a compression utility; using the training data to create a definition of standard and non-standard objects, wherein the Java objects are classified as standard and non-standard according to one or more of: (a) vendors who distribute them; and (b) user input; wherein the definition is characterized by a decision tree, which decision tree is generated as follows: applying a decision tree algorithm to a sample method entry in a top-down, recursive fashion such that a resulting decision tree starts as a single node with all the training data, wherein said decision tree algorithm comprises: if all the training data are of a same classification, labeling the single node with the classification, said classification being one or standard or non-standard; if all the training data are not the same classification, calculating a “chi-squared” statistical measure for each attribute in the training data to determine whether that attribute is one which can be utilized to separate the different classifications of training data; designating a selected chi-squared measure as a “decision” attribute at the node; and recursively iterating the calculating and designating steps at each node of the decision tree until there are no remaining attributes; outputting the decision tree generated by the decision tree algorithm; and using the definition to classify unknown JAVA objects as standard or non-standard.