AUTOSAR チェッカーリファレンス
これらの Klocwork Community チェッカーは、AUTOSAR C++14 標準の違反を検出します。
注記:
- 各 AUTOSAR Community チェッカーには、オンライン情報ではなく Klocwork インストールの一部として詳細なヘルプが用意されています。
- 規則番号で整理されたこの情報を表示するには、Klocwork および Community の C/C++ チェッカーにマッピングされた AUTOSAR 18-10 標準を参照してください。
チェッカー名 | 説明 | 重要度のデフォルト値 | デフォルトで有効になりましたか? | バージョン |
---|---|---|---|---|
AUTOSAR.ADD.ASSIGN.OP.SIDE.EFFECT | move および copy 代入演算子は、副作用を発生させることなく基本クラスとクラスのデータメンバーの移動または個別コピーを行う必要があります | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.ASSIGN.OP.VIRTUAL | ユーザー定義の代入演算子は virtual であってはなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.AUTO.INIT.FORMAT | auto 型の変数を {} または ={} ブレース初期化を使用して初期化してはなりません。 | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.AUTO.SPECIFIER | ここに auto 指定子を使用してはなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.COND.NOT.BOOL | if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.CTOR.INIT.LIST | std::initializer_list 型のパラメーターを受け取るユーザー宣言コンストラクタがクラスに含まれる場合、特殊メンバー関数コンストラクタを除いて、そのコンストラクタが唯一のコンストラクタでなければなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.CTOR.MEMBER.INIT | このコンストラクタによって初期化されるクラスデータメンバーはすべて、メンバー初期化子を使用して初期化する必要があります | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.ENUM.OP | 列挙型を算術コンテキストで使用してはなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.EXPR.EVAL.MULTI.CALL | 式の値は、標準で認められているどの評価順でも同じでなければなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.EXPR.EVAL.VOLATILE | 式の値は、標準で認められているどの評価順でも同じでなければなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.FILE.EXT | ローカル実装ファイルにファイル拡張子 .cpp が付いていません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.FUNC.TEMPLATE.TRAIL.RTN | 関数テンプレートでは、戻り値型がパラメーターの型に依存する場合、後置戻り値型構文を使用する必要があります | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.LITERAL | 型の初期化を除いて、リテラル値を使用してはなりません | 4 | False (偽) | 2024.3 |
AUTOSAR.ADD.LOGIC.NOT_BOOL | if ステートメントおよび反復ステートメントの条件には bool 型を含める必要があります | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.NULLPTR | nullptr リテラルのみを null ポインター定数として使用する必要があります | 4 | False (偽) | 2022.3 |
AUTOSAR.ADD.ONEDEFRULE.FUNC | 関数が一定義規則に違反しています | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.ONEDEFRULE.VAR | 変数が一定義規則に違反しています | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.OVERRIDE.VIRTUAL.SPECIFIER | オーバーライドする仮想関数はそれぞれ、override または final 指定子で宣言する必要があります | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.REDEF.DERIVED.FUNC | パブリックの、または保護された非仮想メンバー関数を派生クラスで再定義してはなりません。 | 4 | False (偽) | 2024.3 |
AUTOSAR.ADD.RTN.REF.CONST.PARAM | const への参照によって渡されるパラメーターへの参照またはポインターを関数が返してはなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ADD.STR.TO.NON.CONST | 文字列リテラルを非定数ポインターに割り当ててはなりません | 4 | False (偽) | 2021.1 |
AUTOSAR.ARRAY.CSTYLE | C スタイルの配列は使用してはなりません | 4 | False (偽) | 2022.2 |
AUTOSAR.ASM | asm 宣言は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.ASSIGN.REF_QUAL | 代入演算子は、参照修飾子 & を使用して宣言する必要があります | 4 | False (偽) | 2022.2 |
AUTOSAR.ASSIGN.RETURN | 代入演算子は "this" への参照を返す必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.AUTO_PTR | std::auto_ptr 型は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.BUILTIN_NUMERIC | 基本的な数値型の代わりに <cstdint> で提供される固定幅の整数型を使用する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.CAST.CSTYLE | 従来の C スタイルのキャストは使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.CAST.DYNAMIC | dynamic_cast は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.CAST.REINTERPRET | reinterpret_cast は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.CTOR.MOVE.COPY_SEMANTICS | 移動コンストラクタがコピーセマンティクスを使用してそのクラスメンバーと基本クラスを初期化してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.CTOR.NO_EXPLICIT | 基本型の単一の引数で呼び出せるコンストラクタはすべて、explicit と宣言する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.CTOR.NSDMI_INIT_LIST | コンストラクタ内の NSDMI と非静的メンバー初期化子の両方を同じ型で使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.DECL.IN_DEFN | クラス、構造体、または列挙をその型の定義で宣言してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.DECL.NONTYPE_SPECIFIER | 宣言では、型指定子以外の指定子は型指定子の前に置く必要があります | 4 | False (偽) | 2022.4 |
AUTOSAR.DIGIT_SEPARATORS | 数字列の区切り子 ' は、(1) 10 進数を 3 桁ずつ、(2) 16 進数を 2 桁ずつ、(3) 2 進数を 4 桁ずつ区切る場合のみ使用する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.DO | do ステートメントは使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.DTOR.NON_VIRTUAL | クラスのパブリックデストラクタが非仮想的である場合、そのクラスは final と宣言する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.ENUM.EXPLICIT_BASE_TYPE | 列挙の基になるベース型は、明示的に定義する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.ENUM.UNSCOPED | 列挙は、スコープ付きの enum クラスとして宣言する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.EXCPT.DYNAMIC_SPEC | 動的な例外指定は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.EXCPT.NOEXCPT_THROW | 関数を noexcept、noexcept(true)、または noexcept(<true condition>) と宣言する場合、その関数は例外を送出して終了してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.EXCPT.SPECIAL_MEMBER_THROW | ユーザー指定のクラスデストラクタ、割り当て解除関数、移動コンストラクタ、移動代入演算子、およびスワップ関数は、どれも例外を送出して終了してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.FORWARD | 他の関数への値の転送は、(1) std::move (値が r 値参照の場合) か (2) std::forward (値が前方参照の場合) を使用して行う必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.FRIEND_DECL | フレンド宣言は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.FUNC.INLINE_DEF | 関数定義をクラス定義内に配置できるのは、(1) その関数がインライン化される予定であるか、(2) それがメンバー関数テンプレートであるか、(3) それがクラステンプレートのメンバー関数である場合のみです | 4 | False (偽) | 2020.1 |
AUTOSAR.FUNC.TMPL.EXPLICIT_SPEC | 関数テンプレートの明示的な指定は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.GOTO | goto ステートメントは使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.HEX.UPPER | 16 進定数は大文字で記述する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.LAMBDA.IMPLICIT_CAPTURE | 変数はラムダ式で暗黙的にキャプチャしてはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.LAMBDA.IMPLICIT_RETURN_TYPE | 非 void 戻り型ラムダ式の戻り型は明示的に指定する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.LAMBDA.NESTED | ラムダ式を他のラムダ式内で定義してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.LAMBDA.NO_PARAM_LIST | パラメーターリスト (空の可能性がある) はすべてのラムダ式に含める必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.LAMBDA.REF_LIFETIME | ラムダ式オブジェクトは、その参照キャプチャされたオブジェクトよりも長く存続してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.LAMBDA.TYPE_OPERAND | ラムダを decltype または typeid のオペランドにしてはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.MEMB.VIRTUAL.FINAL | 仮想関数は final クラスに含めてはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.MEMB.VIRTUAL.SPEC | 仮想関数宣言には 3 つの指定子 (1) virtual、(2) override、(3) final の内の 1 つのみが含まれていなければなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.BINARY.RETVAL | 2 進算術演算子とビット演算子は "prvalue" を返す必要があります | 4 | False (偽) | 2023.4 |
AUTOSAR.OP.COMPARE.MEMBER | 比較演算子は非メンバー関数でなければなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.COMPARE.NON_NOEXCEPT | 比較演算子は noexcept でなければなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.COMPARE.PARAMS | 比較演算子のパラメーター型は同一でなければなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.CONV | ユーザー定義の変換演算子は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.CONV.NON_EXPLICIT | ユーザー定義の変換演算子はすべて、explicit と定義する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.DELETE.MISSING_VERSION | プロジェクトにサイズ指定付きまたはサイズ指定なしの演算子 "delete" がグローバルに定義されている場合は、サイズ指定付きとサイズ指定なしの両方を定義する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.INDEX.NON_CONST | "operator[]" を非 const バージョンで多重定義する予定であれば、const バージョンも実装する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.LITERAL.SUFFIX | ユーザー定義のリテラル演算子のユーザー定義の接尾辞は、アンダースコアで始まり、その後に 1 字以上の英字が続く必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.NEW_DELETE | non-placement new 式または non-placement delete 式を使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.NEW_NO_DELETE | "演算子 new" と "演算子 delete" は一緒に定義する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.OP.RELATIONAL.RETVAL | 関係演算子はブール値を返す必要があります | 4 | False (偽) | 2022.1 |
AUTOSAR.OP.TMPL.NON_MEMBER | 非メンバージェネリック演算子は、クラス (構造体) 型、列挙型、または和集合型の宣言が含まれない名前空間でのみ宣言する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.REGISTER | register キーワードは使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.SETLOCALE | ライブラリ <clocale> (locale.h) と setlocale 関数は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.STDLIB.BIND | std::bind は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.STDLIB.CCTYPE.UCHAR | <cctype> で定義される文字処理関数の引数は、unsigned char として表現できなければなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.STDLIB.MEMORY | 関数 malloc、calloc、realloc、および free は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.STDLIB.MOVE.CONST | const または const& と宣言されたオブジェクトで std::move を使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.STDLIB.RAND | 疑似乱数は std::rand() を使用して生成してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.STDLIB.RANDOM.NBR_GEN_DEFAULT_INIT | 乱数エンジンをデフォルトで初期化してはなりません | 3 | False (偽) | 2022.2 |
AUTOSAR.STDLIB.RANDOM_SHUFFLE | 疑似乱数は std::rand() を使用して生成してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.STYLE.SINGLE_DECL_PER_LINE | 各式ステートメントと識別子宣言は、個別の行に配置する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.STYLE.SINGLE_STMT_PER_LINE | 各式ステートメントと識別子宣言は、個別の行に配置する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.SWITCH.CASECOUNT | switch ステートメントには、デフォルトのラベルとは異なる 2 つ以上の case 節を指定する必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.TERNARY.NESTED | 3 項条件演算子を部分式として使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.TYPEDEF | typedef 指定子は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.TYPEDEF.CVQ_EAST | CV 修飾子は、typedef または using name である型の右側に置く必要があります | 4 | False (偽) | 2020.1 |
AUTOSAR.TYPE.LONG_DOUBLE | long double 型は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.TYPE.QUAL.VOLATILE | volatile 型修飾子は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.TYPE.WCHAR_T | wchar_t 型は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.UNION | 和集合は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.VECTOR.BOOL | std::vector<bool> の特殊化は使用してはなりません | 4 | False (偽) | 2020.1 |
AUTOSAR.VIRTUAL.PTR_COMPARE | メンバー仮想関数を指すポインターのテストは、null ポインター定数との等価を確認する目的でのみ行う必要があります | 4 | False (偽) | 2020.1 |