Skip to main content
assistive.skiplink.to.breadcrumbs
assistive.skiplink.to.header.menu
assistive.skiplink.to.action.menu
assistive.skiplink.to.quick.search
Log in
Confluence
Spaces
Hit enter to search
Help
Online Help
Keyboard Shortcuts
Feed Builder
What’s new
Available Gadgets
About Confluence
Log in
SEI CERT Oracle Coding Standard for Java
Pages
Boards
Space shortcuts
Dashboard
Secure Coding Home
Android
C
C++
Java
Perl
Page tree
Browse pages
Configure
Space tools
View Page
A
t
tachments (0)
Page History
Page Information
View in Hierarchy
View Source
Export to PDF
Export to Word
Pages
…
SEI CERT Oracle Coding Standard for Java
4 Back Matter
Rule or Rec. CC. Analyzers
CodeSonar
Page Information
Title:
CodeSonar
Author:
Will Snavely
May 24, 2016
Last Changed by:
David Svoboda
Aug 13, 2025
Tiny Link:
(useful for email)
https://wiki.sei.cmu.edu/confluence/x/2jdGBQ
Export As:
Word
·
PDF
Incoming Links
SEI CERT Oracle Coding Standard for Java (48)
Page:
SER12-J. Prevent deserialization of untrusted data
Page:
LCK09-J. Do not perform operations that can block while holding a lock
Page:
NUM12-J. Ensure conversions of numeric types to narrower types do not result in lost or misinterpreted data
Page:
SER03-J. Do not serialize unencrypted sensitive data
Page:
LCK05-J. Synchronize access to static fields that can be modified by untrusted code
Page:
IDS14-J. Do not trust the contents of hidden form fields
Page:
DCL00-J. Prevent class initialization cycles
Page:
ENV01-J. Place all security-sensitive code in a single JAR and sign and seal it
Page:
NUM00-J. Detect or prevent integer overflow
Page:
SER00-J. Enable serialization compatibility during class evolution
Page:
EXP01-J. Do not use a null in a case where an object is required
Page:
FIO01-J. Create files with appropriate access permissions
Page:
ERR09-J. Do not allow untrusted code to terminate the JVM
Page:
THI00-J. Do not invoke Thread.run()
Page:
ERR02-J. Prevent exceptions while logging data
Page:
IDS08-J. Sanitize untrusted data included in a regular expression
Page:
NUM13-J. Avoid loss of precision when converting primitive integers to floating-point
Page:
OBJ08-J. Do not expose private members of an outer class from within a nested class
Page:
SER07-J. Do not use the default serialized form for classes with implementation-defined invariants
Page:
IDS03-J. Do not log unsanitized user input
Page:
MSC02-J. Generate strong random numbers
Page:
SEC01-J. Do not allow tainted variables in privileged blocks
Page:
VNA00-J. Ensure visibility when accessing shared primitive variables
Page:
IDS07-J. Sanitize untrusted data passed to the Runtime.exec() method
Page:
IDS00-J. Prevent SQL injection
Page:
MET53-J. Ensure that the clone() method calls super.clone()
Page:
MSC05-J. Do not exhaust heap space
Page:
ERR07-J. Do not throw RuntimeException, Exception, or Throwable
Page:
ERR08-J. Do not catch NullPointerException or any of its ancestors
Page:
LCK00-J. Use private final lock objects to synchronize classes that may interact with untrusted code
Page:
LCK10-J. Use a correct form of the double-checked locking idiom
Page:
SER01-J. Do not deviate from the proper signatures of serialization methods
Page:
MET08-J. Preserve the equality contract when overriding the equals() method
Page:
SER10-J. Avoid memory and resource leaks during serialization
Page:
SEC05-J. Do not use reflection to increase accessibility of classes, methods, or fields
Page:
VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
Page:
EXP03-J. Do not use the equality operators when comparing values of boxed primitives
Page:
MET09-J. Classes that define an equals() method must also define a hashCode() method
Page:
SER02-J. Sign then seal objects before sending them outside a trust boundary
Page:
EXP00-J. Do not ignore values returned by methods
Page:
FIO04-J. Release resources when they are no longer needed
Page:
OBJ07-J. Sensitive classes must not let themselves be copied
Page:
EXP02-J. Do not use the Object.equals() method to compare two arrays
Page:
FIO02-J. Detect and handle file-related errors
Page:
ERR00-J. Do not suppress or ignore checked exceptions
Page:
EXP06-J. Expressions used in assertions must not produce side effects
Page:
MSC03-J. Never hard code sensitive information
Page:
ENV06-J. Production code must not contain debugging entry points
Hierarchy
Parent Page
Page:
Rule or Rec. CC. Analyzers
Labels
Global Labels (1)
analyzer
Recent Changes
Time
Editor
Aug 13, 2025 05:44
David Svoboda
View Changes
Aug 06, 2025 17:37
David Svoboda
View Changes
Aug 06, 2025 17:27
David Svoboda
View Changes
Jul 24, 2025 13:34
David Svoboda
View Changes
Jun 11, 2025 10:15
David Svoboda
View Page History
Outgoing Links
External Links (51)
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
SEI CERT Oracle Coding Standard for Java (1)
Page:
CodeSonar_V
Overview
Content Tools
{"serverDuration": 148, "requestCorrelationId": "63c7000e94312378"}