このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Polyspace 解析結果へのカスタム注釈形式適用時のエラーの修正
問題
オプション [-xml-annotations-description]
を使用してカスタム注釈を Polyspace® 解析結果に適用する際に、一部のカスタム注釈が適用されず、コンソール出力またはデスクトップ インターフェイスの [出力の概要] に警告が表示されます。
考えられる解決策
カスタム注釈がマッピングに見つからない
カスタム注釈構文を定義しても Polyspace 注釈構文にマッピングしなかった場合、Polyspace はカスタム注釈を検出しますが、解析結果に適用しません。コンソール出力または Polyspace デスクトップ インターフェイスの [出力の概要] に次のような警告が表示されます。
Verifying sources ... Verifying zero_div.c (1/1) Warning: rule :50 from exampleCustomAnnotation not found in the mapping (XML file). Skipping the annotation
解決法. -xml-annotations-description
オプションに渡した XML ファイルの <Mapping/>
セクションをチェックします。警告にリストされたルールを Polyspace ルールにマッピングしていない場合は、該当するエントリを追加してルールをマッピングします。たとえば、前記の警告のルール 50 を Polyspace コーディング ルール [MISRA C™:2012 Rule 8.4] にマッピングするには、次のエントリを <Mapping/>
セクションに追加します。
<Result_Name_Mapping Rule_Identifier="50" Family="MISRA-C3" Result_Name="8.4"/>
Polyspace 注釈が現在のコードに適用されない
カスタム注釈構文を定義して Polyspace 注釈構文にマッピングしても、Polyspace により一部のカスタム注釈がソース コードに適用されない場合があります。コンソール出力または Polyspace デスクトップ インターフェイスの [出力の概要] に次のような警告が表示されます。
Warning: These Polyspace annotations do not apply to the current code: | In file D:\Polyspace\Examples\zero_div.c line 7, annotation MISRA-C3:8.4 with text "Justified by annotation in source" | In file D:\Polyspace\Examples\zero_div.c line 20, annotation MISRA-C3:8.4 with text "Justified by annotation in source" | Possible reasons: | - Issue not detected with selected configuration options. | - Issue is fixed. | - Annotation syntax is incorrect
解決法. 考えられる以下の原因をチェックします。
注釈が指摘する問題がソース コードで修正された。Polyspace はカスタム注釈を検出しても無視します。
注釈が指摘する問題が、指定した解析オプションでは Polyspace で検出されなかった。たとえば、カスタム注釈が MISRA C:2012 コーディング規約違反を指摘している場合でも、オプション
[MISRA C:2012 のチェック] (-misra3)
が指定されなければ、Polyspace はこのコーディング規約違反をチェックしません。注釈が指摘する問題が検出されたが、Polyspace はカスタム注釈と対応する Polyspace 注釈を照合できなかった。これは、
-xml-annotations-description
オプションに渡した XML ファイルの<Mapping/>
セクションの構文エラーを示します。