The following document contains the results of FindBugs Report
FindBugs Version is 1.2.1
Threshold is Low
Effort is Default
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
382 | 40 | 0 | 0 |
Bug | Category | Details | Line |
---|---|---|---|
The class org.aspectme.cldc.reflect.generator.ProxyGenerator$InterfaceInfo could be refactored into a _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS | 165-181 |
Bug | Category | Details | Line |
---|---|---|---|
Method org.aspectme.cldc.reflect.generator.ReflectMEGenerator.debug(List) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 480 |
Bug | Category | Details | Line |
---|---|---|---|
The class org.aspectme.cldc.reflect.generator.ReflectMEGenerator$5 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 430-434 |
Bug | Category | Details | Line |
---|---|---|---|
org.aspectme.cldc.reflect.model.asm.AsmStandardClass.getDeclaredConstructors() may expose internal representation by returning AsmStandardClass.constructors | MALICIOUS_CODE | EI_EXPOSE_REP | 63 |
org.aspectme.cldc.reflect.model.asm.AsmStandardClass.getDeclaredFields() may expose internal representation by returning AsmStandardClass.fields | MALICIOUS_CODE | EI_EXPOSE_REP | 75 |
org.aspectme.cldc.reflect.model.asm.AsmStandardClass.getDeclaredMethods() may expose internal representation by returning AsmStandardClass.methods | MALICIOUS_CODE | EI_EXPOSE_REP | 56 |
Bug | Category | Details | Line |
---|---|---|---|
org.aspectme.cldc.reflect.model.java.JavaClass.getDeclaredConstructors() may expose internal representation by returning JavaClass.javaConstructors | MALICIOUS_CODE | EI_EXPOSE_REP | 86 |
org.aspectme.cldc.reflect.model.java.JavaClass.getDeclaredFields() may expose internal representation by returning JavaClass.javaFields | MALICIOUS_CODE | EI_EXPOSE_REP | 119 |
org.aspectme.cldc.reflect.model.java.JavaClass.getDeclaredMethods() may expose internal representation by returning JavaClass.javaMethods | MALICIOUS_CODE | EI_EXPOSE_REP | 60 |
Bug | Category | Details | Line |
---|---|---|---|
Method org.aspectme.cldc.reflect.util.Common.addInt(MethodVisitor, int) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 174 |
Bug | Category | Details | Line |
---|---|---|---|
org.aspectme.instrument.BufferedClassFile.getByteCode() may expose internal representation by returning BufferedClassFile.bytecode | MALICIOUS_CODE | EI_EXPOSE_REP | 32 |
org.aspectme.instrument.BufferedClassFile.BufferedClassFile(String, byte[]) may expose internal representation by storing an externally mutable object into BufferedClassFile.bytecode | MALICIOUS_CODE | EI_EXPOSE_REP2 | 28 |
Bug | Category | Details | Line |
---|---|---|---|
org.aspectme.instrument.ClassPath.ClassPath(URL[]) creates a java.net.URLClassLoader classloader, which should be performed within a doPrivileged block | BAD_PRACTICE | DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED | 48 |
org.aspectme.instrument.ClassPath.getURLs() may expose internal representation by returning ClassPath.urls | MALICIOUS_CODE | EI_EXPOSE_REP | 96 |
org.aspectme.instrument.ClassPath.ClassPath(URL[]) may expose internal representation by storing an externally mutable object into ClassPath.urls | MALICIOUS_CODE | EI_EXPOSE_REP2 | 47 |
Bug | Category | Details | Line |
---|---|---|---|
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectClass to org.aspectme.cldc.reflect.model.java.JavaClass in org.aspectme.pointcut.AspectJPointcut.matches(ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 80 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectClass to org.aspectme.cldc.reflect.model.java.JavaClass in org.aspectme.pointcut.AspectJPointcut.matchesConstructorCall(ReflectConstructor, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 96 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectConstructor to org.aspectme.cldc.reflect.model.java.JavaConstructor in org.aspectme.pointcut.AspectJPointcut.matchesConstructorCall(ReflectConstructor, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 95 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectConstructor to org.aspectme.cldc.reflect.model.java.JavaConstructor in org.aspectme.pointcut.AspectJPointcut.matchesConstructorExecution(ReflectConstructor) | STYLE | BC_UNCONFIRMED_CAST | 85 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectClass to org.aspectme.cldc.reflect.model.java.JavaClass in org.aspectme.pointcut.AspectJPointcut.matchesFieldGet(ReflectField, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 102 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectField to org.aspectme.cldc.reflect.model.java.JavaField in org.aspectme.pointcut.AspectJPointcut.matchesFieldGet(ReflectField, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 101 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectClass to org.aspectme.cldc.reflect.model.java.JavaClass in org.aspectme.pointcut.AspectJPointcut.matchesFieldSet(ReflectField, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 108 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectField to org.aspectme.cldc.reflect.model.java.JavaField in org.aspectme.pointcut.AspectJPointcut.matchesFieldSet(ReflectField, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 107 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectClass to org.aspectme.cldc.reflect.model.java.JavaClass in org.aspectme.pointcut.AspectJPointcut.matchesMethodCall(ReflectMethod, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 114 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectMethod to org.aspectme.cldc.reflect.model.java.JavaMethod in org.aspectme.pointcut.AspectJPointcut.matchesMethodCall(ReflectMethod, ReflectClass) | STYLE | BC_UNCONFIRMED_CAST | 113 |
Unchecked/unconfirmed cast from org.aspectme.cldc.reflect.model.ReflectMethod to org.aspectme.cldc.reflect.model.java.JavaMethod in org.aspectme.pointcut.AspectJPointcut.matchesMethodExecution(ReflectMethod) | STYLE | BC_UNCONFIRMED_CAST | 90 |
Bug | Category | Details | Line |
---|---|---|---|
AdviceClassAdapter.className not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Should org.aspectme.weaver.AdviceClassAdapter$AdvicedMethodExecution be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 123-145 |
Bug | Category | Details | Line |
---|---|---|---|
Should org.aspectme.weaver.AdviceClassFileTransformer.process(ClassReader) return a zero length array rather than null? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 73 |
Bug | Category | Details | Line |
---|---|---|---|
Should org.aspectme.weaver.AdviceClassFileTransformer$AdvicedListener be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | 77-98 |
Bug | Category | Details | Line |
---|---|---|---|
Dead store of null to projectClasspath in org.aspectme.weaver.AspectWeaver$Arguments.parseProjectClassPath(String) | STYLE | DLS_DEAD_LOCAL_STORE_OF_NULL | 295 |
Dead store of null to resolveClasspath in org.aspectme.weaver.AspectWeaver$Arguments.parseResolvedClasspath(String, String) | STYLE | DLS_DEAD_LOCAL_STORE_OF_NULL | 312 |
Bug | Category | Details | Line |
---|---|---|---|
The class org.aspectme.weaver.JoinpointInMethodWeaver$5 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 363-371 |
Bug | Category | Details | Line |
---|---|---|---|
MethodRecorder.skipped not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
org.aspectme.weaver.SingleInvocation.getArgs() may expose internal representation by returning SingleInvocation.args | MALICIOUS_CODE | EI_EXPOSE_REP | 36 |
org.aspectme.weaver.SingleInvocation.SingleInvocation(Method, Object[]) may expose internal representation by storing an externally mutable object into SingleInvocation.args | MALICIOUS_CODE | EI_EXPOSE_REP2 | 21 |
Bug | Category | Details | Line |
---|---|---|---|
org.aspectme.weaver.analyzer.Invocation.getArgs() may expose internal representation by returning Invocation.args | MALICIOUS_CODE | EI_EXPOSE_REP | 32 |
org.aspectme.weaver.analyzer.Invocation.Invocation(Method, Object[]) may expose internal representation by storing an externally mutable object into Invocation.args | MALICIOUS_CODE | EI_EXPOSE_REP2 | 17 |
Bug | Category | Details | Line |
---|---|---|---|
Exception is caught when Exception is not thrown in org.aspectme.weaver.analyzer.Main.main(String[]) | STYLE | REC_CATCH_EXCEPTION | 21 |
Bug | Category | Details | Line |
---|---|---|---|
AspectConfig.resolver not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |