...
The methods and classes listed in the following table must not be used:
Class or Method | Replacement | Rule |
---|---|---|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
| |
|
| |
java.util.Date | java.time (since Java 8) |
The Java Virtual Machine Profiler Interface (JVMPI) and JVM Debug Interface (JVMDI) are also deprecated and have been replaced by the JVM Tool Interface (JVMTI) (see ENV05-J. Do not deploy an application that can be remotely monitored for more information).
...
Using deprecated or obsolete classes or methods in program code can lead to erroneous behavior.
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
MET02-J | Low | Unlikely | Medium | P2 | L3 |
Automated Detection
Detecting uses of deprecated methods is straightforward. Obsolete methods have no automatic means of detection.
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Parasoft Jtest |
| CERT.MET02.DPRAPI CERT.MET02.THRD | Do not use deprecated APIs Avoid calling unsafe deprecated methods of 'Thread' and 'Runtime' | ||||||
SonarQube |
| S1874 | "@Deprecated" code should not be used |
Related Guidelines
Deprecated Language Features [MEM] | |
CWE-589, Call to Non-ubiquitous API |
Android Implementation Details
The Android SDK has deprecated and obsolete APIs. Also, there may exist incompatible APIs depending on the SDK version. Consequently, it is recommended that developers refer to the "Android API Differences Report" and consider replacing deprecated APIs.
Bibliography
[API 2014] | |
[SDN 2008] | Bug database, Bug ID 4264153 |
...