FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.2.1

Threshold is Low

Effort is Default

Summary

Classes Bugs Errors Missing Classes
382 40 0 0

org.aspectme.cldc.reflect.generator.ProxyGenerator$InterfaceInfo

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

org.aspectme.cldc.reflect.generator.ReflectMEGenerator

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

org.aspectme.cldc.reflect.generator.ReflectMEGenerator$5

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

org.aspectme.cldc.reflect.model.asm.AsmStandardClass

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

org.aspectme.cldc.reflect.model.java.JavaClass

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

org.aspectme.cldc.reflect.util.Common

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

org.aspectme.instrument.BufferedClassFile

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

org.aspectme.instrument.ClassPath

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

org.aspectme.pointcut.AspectJPointcut

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

org.aspectme.weaver.AdviceClassAdapter

Bug Category Details Line
AdviceClassAdapter.className not initialized in constructor STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR Not available

org.aspectme.weaver.AdviceClassAdapter$AdvicedMethodExecution

Bug Category Details Line
Should org.aspectme.weaver.AdviceClassAdapter$AdvicedMethodExecution be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 123-145

org.aspectme.weaver.AdviceClassFileTransformer

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

org.aspectme.weaver.AdviceClassFileTransformer$AdvicedListener

Bug Category Details Line
Should org.aspectme.weaver.AdviceClassFileTransformer$AdvicedListener be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 77-98

org.aspectme.weaver.AspectWeaver$Arguments

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

org.aspectme.weaver.JoinpointInMethodWeaver$5

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

org.aspectme.weaver.MethodRecorder

Bug Category Details Line
MethodRecorder.skipped not initialized in constructor STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR Not available

org.aspectme.weaver.SingleInvocation

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

org.aspectme.weaver.analyzer.Invocation

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

org.aspectme.weaver.analyzer.Main

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

org.aspectme.weaver.config.AspectConfig

Bug Category Details Line
AspectConfig.resolver not initialized in constructor STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR Not available