Main Content

送信前の IDE でのコード品質の確認

Polyspace as You Code は、C/C++ 開発者が統合開発環境 (IDE) で通常使用することを意図して作られた、静的コード解析ソフトウェアです。Polyspace as You Code では、IDE で現在アクティブなファイルのバグとコーディング規約違反を検出できます。(プロジェクトのフル統合解析には、Polyspace Bug Finder または Polyspace Bug Finder Server を使用します。)

Polyspace as You Code 解析エンジンと IDE 拡張機能のインストール

Polyspace as You Code には、チームや組織向けの Polyspace® Access™ インストールがバンドルされています。Polyspace Access Web サーバーを設定すると、ライセンスをもつ任意のユーザーが Polyspace Access Web インターフェイスから Polyspace as You Code インストーラーを圧縮ファイルとしてダウンロードできるようになります。

Download Polyspace as You Code menu

概念的には、Polyspace as You Code は以下の要素で構成されています。

  • 解析エンジン

  • IDE で解析を開始して結果を表示できるようにする IDE 拡張機能

    IDE 拡張機能は、次の IDE 用に提供されています。Visual Studio、Visual Studio Code、Eclipse。別の IDE を使用している場合でも、解析エンジンをインストールして、コマンド ラインまたは IDE コンソールで解析を実行できます。

インストーラーを解凍して起動し、画面の指示に従います。解析エンジンのインストールが完了したら、1 つ以上の IDE 拡張機能をインストールすることができます。詳細は、Install Polyspace as You Code Using Installerを参照してください。

あるいは、後で IDE 拡張機能をインストールすることもできます。詳細は、次を参照してください。

Polyspace as You Code の実行と結果のレビュー

インストールの完了後は、IDE を開くたびに、Polyspace as You Code 拡張機能が解析を開始できる状態になります。C または C++ ファイルを開き、何らかの変更を加えてファイルを保存すると、解析が自動的に開始されます。(自動解析を無効にして、代わりに明示的に解析を開始するように選択することもできます。)

解析を開始するには、IDE で現在作業中のプロジェクトまたはワークスペースを開き、プロジェクト内のファイルを開きます。あるいは、以下の関数を .c ファイルまたは .cpp ファイルにコピーし、そのファイルを (プロジェクトまたは別の方法を使用して) IDE で開きます。この関数には、配列が範囲外にアクセス、不要なコード、等号演算子ではなく代入演算子の使用といったバグが含まれています。

#define MAXBUF 20
int buf[MAXBUF];

int saturateAndShift(int limit, int* stream, int size) {
    int i;
    int numMax = 0;

    if(size > MAXBUF) {
        return -1; 
    }

    if(size <= MAXBUF) {
        for(i=0; i<size; i++) {
            if(stream[i] > limit || stream[i] < 0) {
                buf[i+1] = 0;
            }
            else if(stream[i] = limit){
                buf[i+1] = stream[i];
                numMax ++;
            }
            else {
                buf[i+1] = stream[i];
            }
        }
    }
    return numMax;
}

Polyspace as You Code 解析を行った後、現在アクティブなファイルで解析結果 (バグおよびコーディング規約違反) をソース コード マーカーとして確認できます。IDE 内の別のリストで結果を確認することもできます。詳細は、次を参照してください。

コマンド ライン ターミナルまたは IDE コンソールで結果をエクスポートすることもできます。より豊富な結果を得るには、結果を JSON 形式でエクスポートして編集してから表示します。詳細は、Run Polyspace as You Code from Command Line and Export Resultsを参照してください。

Polyspace as You Code IDE 拡張機能の構成

既定の解析は、IDE 内で小規模なプロジェクトを処理するように事前構成されています。実際には、ビルドをより正確にエミュレートするため、チェッカーを有効または無効にするため、新しい結果のみを表示するため、あるいはその他の調整を加えるために、IDE 拡張機能の設定をさらに構成する必要が生じる場合があります。

たとえば、既定では、Polyspace as You Code はコードが保存されるたびに実行されます。拡張機能の設定を使用して、この自動実行を無効にすることができます (この場合、ソース コードを右クリックして表示されるオプションを使用して、明示的に解析を実行します)。拡張機能のすべての設定のリストと設定を開く方法については、以下を参照してください。

拡張機能の設定は、次の 3 つの主要なグループに分けられます。

  • ビルド オプション:

    これらの設定を使用して、Visual Studio ソリューションや Visual Studio Code ビルド タスクなどの IDE 内の既存のアーティファクトからビルド情報を抽出するかどうかや、オプション ファイル内のビルド関連の Polyspace オプションを手動でエミュレートするかどうかを指定します。詳細は、Polyspace as You Code でのビルドの解析 (Polyspace Bug Finder)を参照してください。

  • チェッカー:

    これらの設定を使用して、チェッカーを有効または無効にできます。詳細は、Polyspace as You Code でのチェッカーの設定 (Polyspace Bug Finder)を参照してください。

  • ベースライン オプション:

    これらの設定を使用して、Polyspace as You Code インストールと Polyspace Access インスタンスを接続し、Polyspace Access 内のプロジェクトを使用して結果のベースラインを設定できます。ベースラインを設定すると、最近のコード変更による新しい結果だけに注目できます。Polyspace as You Code でのベースラインの使用 (Polyspace Bug Finder)を参照してください。