Guidelines
MET00-J. Follow good design principles while defining methods
MET01-J. Avoid ambiguous uses of overloading
MET02-J. Validate method parameters
MET03-J. Methods that perform a security check must be declared private or final
MET04-J. Ensure that constructors do not call overridable methods
MET05-J. Do not subject overloaded methods to polymorphic invocations
MET06-J. Do not call overridable methods from a privileged block
MET07-J. Do not invoke overridable methods on the clone under construction
MET08-J. Do not use the clone method to copy untrusted method parameters
MET09-J. Always provide feedback about the resulting value of a method
MET11-J. Understand the difference between overriding and hiding
MET12-J. Follow the general contract while overriding the equals method
MET13-J. Ensure that hashCode() is overridden when equals() is overridden
MET14-J. Follow the general contract when implementing the compareTo method
MET15-J. Do not use deprecated or obsolete methods
MET16-J. Ensure that the clone method calls super.clone
Risk Assessment Summary
Guideline |
Severity |
Likelihood |
Remediation Cost |
Priority |
Level |
---|---|---|---|---|---|
MET00- J |
low |
unlikely |
high |
P1 |
L3 |
MET01- J |
low |
unlikely |
high |
P1 |
L3 |
MET02- J |
medium |
probable |
medium |
P8 |
L2 |
MET03- J |
medium |
probable |
medium |
P8 |
L2 |
MET04- J |
medium |
probable |
medium |
P8 |
L2 |
MET05- J |
low |
unlikely |
high |
P1 |
L3 |
MET06- J |
high |
probable |
medium |
P12 |
L1 |
MET07- J |
medium |
probable |
low |
P12 |
L1 |
MET08- J |
high |
likely |
low |
P27 |
L1 |
MET09- J |
medium |
probable |
medium |
P8 |
L2 |
MET10- J |
low |
unlikely |
high |
P1 |
L3 |
MET11- J |
low |
unlikely |
medium |
P2 |
L3 |
MET12- J |
low |
unlikely |
medium |
P2 |
L3 |
MET13- J |
low |
unlikely |
high |
P1 |
L3 |
MET14- J |
medium |
unlikely |
medium |
P4 |
L3 |
MET15- J |
high |
likely |
medium |
P18 |
L1 |
CON35-J. Document thread-safety and use annotations where applicable The CERT Sun Microsystems Secure Coding Standard for Java MET00-J. Follow good design principles while defining methods