Guidelines
MSC07-J. Eliminate class initialization cycles
MSC08-J. Avoid cyclic dependencies between packages
MSC12-J. Prefer using Iterators over Enumerations
MSC09-J. Carefully design interfaces before releasing them
MSC00-J. Do not mix generic with non-generic raw types in new code
MSC14-J. Finish every set of statements associated with a case label with a break statement
MSC11-J. Do not assume infinite heap space
MSC10-J. Limit the lifetime of sensitive data
MSC01-J. Do not use insecure or weak cryptographic algorithmsMSC10-J. Detect and remove dead code
MSC02-J. Generate truly random numbers
MSC03-J. Never hardcode sensitive information
MSC04-J. Do not use Object.equals() to compare cryptographic keys
MSC05-J. Make sensitive classes noncloneable
MSC07-J. Eliminate class initialization cycles
MSC08-J. Avoid cyclic dependencies between packages
MSC09-J. Carefully design interfaces before releasing them
MSC10-J. Limit the lifetime of sensitive data
MSC11-J. Do not assume infinite heap space
MSC12-J. Prefer using Iterators over Enumerations
MSC13-J. Do not modify the underlying collection when an iteration is in progress
MSC34-J. Reserved (sent to the VOID)
MSC04-J. Do not use Object.equals() to compare cryptographic keysMSC14-J. Finish every set of statements associated with a case label with a break statement
MSC10-J. Detect and remove dead code
MSC34-J. Reserved (sent to the VOID)
Risk Assessment Summary
Recommendations
...