AUTOSAR のランタイム環境関数の無効な使用
RTE 関数の引数が AUTOSAR 仕様に違反している
説明
このチェックでは、AUTOSAR のランタイム環境によって提供される関数 (Rte_ 関数) の呼び出しを評価します。このチェックは、実行時に関数の引数が AUTOSAR XML 仕様に違反している可能性があるかどうかを判別します。
このチェックが有効になるのは、Polyspace® ユーザー インターフェイスで、または polyspace-autosar コマンドを使用して、AUTOSAR ARXML 仕様に基づく Code Prover 解析を実行する場合のみです。詳細については、AUTOSAR コードに対する Polyspace の実行を参照してください。
このチェックの診断
[結果の詳細] ペインの情報を使用して、引数が AUTOSAR XML 仕様のデータ制約に違反しているかどうか、NULL 値になる可能性があるかどうかを判断します。明確なエラーを示す ! アイコンまたは潜在的なエラーを示す ? アイコンを確認します。
関数の引数ごとに、チェックでは以下の違反を調べます。
データ制約違反:
この
Rte_IWrite_step_out_e4の呼び出しでは、2 番目の引数が、データ制約に従わなければならないデータ型を指しているとします。解析では、実行時に制約に違反する可能性があるかどうかをチェックします。チェックでは、以下のようなメッセージが表示される可能性があります。このメッセージは、引数の値 (この場合は値 321) が制約範囲から外れていることを示しています。Rte_IWrite_step_out_e4(self, arg);

一般的に、解析では、それぞれの
Rte_関数の引数が、その AUTOSAR データ型で許容された制約範囲内にあるかどうかを検証します。ARXML ファイルのデータ制約を参照することで、AUTOSAR データ型の値を制限します。たとえば、データ制約の指定は以下のようになります (AUTOSAR XML スキーマ version 4.0)。<DATA-CONSTR> <SHORT-NAME>n320to320</SHORT-NAME> <DATA-CONSTR-RULES> <DATA-CONSTR-RULE> <PHYS-CONSTRS> <LOWER-LIMIT INTERVAL-TYPE="CLOSED">-320</LOWER-LIMIT> <UPPER-LIMIT INTERVAL-TYPE="CLOSED">320</UPPER-LIMIT> <UNIT-REF DEST="UNIT">/jyb/types/units/NoUnit</UNIT-REF> </PHYS-CONSTRS> </DATA-CONSTR-RULE> </DATA-CONSTR-RULES> </DATA-CONSTR> ... <APPLICATION-PRIMITIVE-DATA-TYPE> <SHORT-NAME>Int_n320to320</SHORT-NAME> <CATEGORY>VALUE</CATEGORY> <SW-DATA-DEF-PROPS> <SW-DATA-DEF-PROPS-VARIANTS> <SW-DATA-DEF-PROPS-CONDITIONAL> ... <DATA-CONSTR-REF DEST="DATA-CONSTR">types/app/constraints/n320to320 </DATA-CONSTR-REF> ... </SW-DATA-DEF-PROPS-CONDITIONAL> </SW-DATA-DEF-PROPS-VARIANTS> </SW-DATA-DEF-PROPS> </APPLICATION-PRIMITIVE-DATA-TYPE>AUTOSAR 規格仕様に対する違反 (一部の RTE 関数の入力引数として未割り当てのポインターを渡すなど):
この
Rte_IWrite_step_out_e4の呼び出しでは、2 番目の引数がポインターであるとします。解析では、このポインターが非 NULL であるかどうか、可能性のあるすべての実行パスに対してこのポインターが割り当てられているかどうかをチェックします。チェックでは、以下のようなメッセージが表示される可能性があります。Rte_IWrite_step_out_e4(self,arg);

一般的に、解析では、
Rte_関数のポインター引数が非 NULL であるかどうか、この引数が割り当てられているかどうかを検証します。これらの違反は、チェッカー
[AUTOSAR 仕様に非準拠]でも検出されます。
結果情報
| グループ: Other |
| 言語: C |
| 頭字語: AUTOSAR_USE |
バージョン履歴
R2018a で導入