Java


JAVA.DEBUG.CALL : Debug Call (Java)

要旨

A call to a method that should not be used in production code.

For example, calls to System.exit() should not be used in production code, as they would disrupt the availability of your service.

Some operations should not be performed in production code, since they have no effect or have unpredictable effects, or since they might compromise the availability or security of your system.

プロパティ

クラス名 Debug Call (Java)
日本語クラス名 Debug Call (Java)
クラス分類 信頼性 (reliability)
ニーモニック JAVA.DEBUG.CALL
カテゴリー
CWE CWE:382 J2EE Bad Practices: Use of System.exit()
  CWE:489 Active Debug Code
CERT-Java CERT-Java:ERR09-J Do not allow untrusted code to terminate the JVM
対応言語 Java で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Debug Call (Java)"

import com.juliasoft.julia.extraction.EntryPoint;

public class InadequateCalls {
  public @EntryPoint void check(int k) {
      if (k <= 0)
          System.exit(-1);       // Debug Call (Java) warning issued here 
      else
          System.out.println(k); // Debug Warning (Java) warning issued here 
  }
}

In this example, the programmer should signal the unusual situation in other ways, for instance by throwing an exception or by showing a dialog to the user.

解決法

Verify if the operation is adequate for production code. Remove it or transform it if that is not the case.

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。