Version 0.2 Dec 25, 2005 *. Included constructor mehtod callees and callers Version 0.1 Dec 12, 2005 Handlings: *. Ignore the method calls of all classes that are explicitly declared in import and whose declared names start with "java" *. Ignore the method calls of all classes whose names start with "java". *. We resolve reference types by the following mechanisms: -- object field declarations -- local variable declarations *. We make the reference type in local variable more complete by adding prefix of the import declaration Limitations *. We cannot resolve the receiver reference type for a method call if the reference is a array element. Currently we ignore these method calls. For example, we ignore the accept method call in Attribute[] attributes = bcelMethod.getAttributes(); DeprecatedVisitor visitor = new DeprecatedVisitor(); for(int ii = 0; ii < attributes.length; ii++) { attributes[ii].accept(visitor); if(visitor.isDeprecated()) { return true; } } *. We cannot resolve the receiver reference type for a method call if the reference is implicit return value of another method call. Currently we ignore these method calls. For example, we ignore the accept method call in: f().accept(visitor); TODO: *. Include constructor method calls *. When there are multiple if enclosing, we cannot correctly label ELSE. *. Switch hasn't been fully testsed Mining considerations: *. Maybe package name of those method calls' classes can be used for clustering