Patent ID: 8381179

Claim:
A method for rearranging entities in an object-oriented program, comprising the steps of: computing a property set for an entity, in a set of entities belonging to classes in said object-oriented program, wherein the property set is defined by a function p(x), where x represents one of the entities and: if x is a method, then p(x)={x, all directly used methods, all directly used attributes}; if x is an attribute, then p(x)={x, all methods using x}; identifying an entity having a maximum cardinality of the computed property set, wherein the cardinality of a property set is the number of the above-bracketed properties in the property set; from the set of entities, identifying any entity that satisfies a relation: | p ( e )∩ p ( e ′)|/| p ( e ′)− p ( e )|≧threshold; wherein, |p(e)∩p(e′)| is number of elements in the property set of the identified entity that are in common with the property set of said entity having maximum cardinality; and |p(e′)−p(e)| is the number of elements in the property set of the identified entity that are not in common with the property set of said entity having maximum cardinality; forming a sub-group comprising said entity having maximum cardinality of the computed property along with any identified entity that satisfies said condition; and removing entities that belong to said sub-group from said set of entities.