 
                            Recommendations
MET00-J. Understand the difference between overriding and hiding
MET01-J. Follow good design principles while defining methods
MET02-J. Avoid ambiguous uses of overloading
MET04-J. Always provide feedback about the resulting value of a method
MET05-J. Validate method parameters
MET06-J. Methods that perform a security check must be declared private or final
Rules
MET30-J. Follow the general contract while overriding the equals method
MET31-J. Ensure that hashCode() is overridden when equals() is overridden
MET32-J. Ensure that constructors do not call overridable methods
MET33-J. Do not subject overloaded methods to polymorphic invocations
MET34-J. Follow the general contract when implementing the compareTo method
MET35-J. Ensure that the clone method calls super.clone
MET36-J. Do not use deprecated methods
MET37-J. Do not call overridable methods from a privileged block
MET38-J. Do not invoke overridable methods on the clone under construction
Risk Assessment Summary
Recommendations
| Recommendation | Severity | Likelihood | Remediation Cost | Priority | Level | 
|---|---|---|---|---|---|
| MET00- J | low | unlikely | medium | P2 | L3 | 
| MET01- J | low | unlikely | high | P1 | L3 | 
| MET02- J | low | unlikely | high | P1 | L3 | 
| MET03- J | low | unlikely | high | P1 | L3 | 
| MET04- J | medium | probable | medium | P8 | L2 | 
| MET05- J | medium | probable | medium | P8 | L2 | 
| MET06- J | medium | probable | medium | P8 | L2 | 
Rules
| Rules | Severity | Likelihood | Remediation Cost | Priority | Level | 
|---|---|---|---|---|---|
| MET30- J | low | unlikely | medium | P2 | L3 | 
| MET31- J | low | unlikely | high | P1 | L3 | 
| MET32- J | medium | probable | medium | P8 | L2 | 
| MET33- J | low | unlikely | high | P1 | L3 | 
| MET34- J | medium | unlikely | medium | P4 | L3 | 
CON39-J. Ensure atomicity of 64-bit operations The CERT Sun Microsystems Secure Coding Standard for Java MET00-J. Understand the difference between overriding and hiding