Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: REM cost reform

...

Unauthorized modifications of public static variables can result in unexpected behavior and violation of class invariants. Furthermore, because static variables can be visible to code loaded by different class loaders when those class loaders are in the same delegation chain, such variables can be used as a covert communication channel between different application domains.

Rule

Severity

Likelihood

Detectable

RepairableRemediation Cost

Priority

Level

OBJ10-J

Medium

Probable

Yes

NoMedium

P8

L2

Automated Detection

ToolVersionCheckerDescription
Eclipse1.0
Implemented. The serializable class .* does not declare a static final serialVersionUID field of type long
Coverity7.5FB.MS_SHOULD_BE_FINALImplemented
Findbugs1.0MS_MUTABLE_ARRAY MS_SHOULD_BE_FINAL Implemented
Klocwork

Include Page
Klocwork_V
Klocwork_V

SV.EXPOSE.FIELD
SV.STRUTS.STATIC

Parasoft Jtest
Include Page
Parasoft_V
Parasoft_V
CERT.OBJ10.SPFF
CERT.OBJ10.RMO
Inspect 'static' fields which may have intended to be declared 'static final'
Avoid referencing mutable fields
SonarQube
Include Page
SonarQube_V
SonarQube_V
S1444"public static" fields should be constant
SpotBugs

Include Page
SpotBugs_V
SpotBugs_V

MS_SHOULD_BE_FINAL Implemented

...