3 ステップでSider Scan を使ってみよう!

Sider社が予め用意したサンプルレポジトリを対象にして、Sider Scan を実行する方法を紹介します。信じてください! あなたが思っているよりもずっと簡単です。

Step 1: gitでサンプルのレポジトリをクローン

以下のように私たちが準備したサンプルのレポジトリを手元にクローンしてください。このレポジトリには問題のあるソースコードが含まれています。どこに問題があるかを目視で見つけられますか?

$ git clone https://github.com/sider-bughunter/hello_sider.git

Step 2: Sider Scanで解析を実行

以下のようにSider Scanを実行してください。インストール等は不要です。自動的にDocker Hubから最新のSider Scanのイメージが取得され、解析が始まります。

注意: もし、Step 1 のコマンド実行後に、ディレクトリhello_siderに移動した場合には、引数から/hello_siderを除いて-v “$(pwd)”:/buildsとしてください。

$ docker run -v "$(pwd)/hello_sider":/builds -w /builds --rm sider/sider_scan_runner:latest sider run /builds
[2022-05-18T07:52:33.774] [INFO] default - SiderScanRunner is running.
[2022-05-18T07:52:33.777] [INFO] default - the radump file to import does not exist. path: /builds/output.radump
[2022-05-18T07:52:33.777] [INFO] default - scanning /builds
[2022-05-18T07:52:58.546] [INFO] default - exported the project to /builds/output.radump
[2022-05-18T07:52:58.552] [INFO] default - Server URL was not supplied. Generating detail viewer link was skipped.
[2022-05-18T07:52:58.564] [INFO] default - 2 block(s) was detected.
[2022-05-18T07:52:58.638] [INFO] default - All actions were successfully finished.
[2022-05-18T07:52:58.643] [WARN] default - Contact email address is not specified. Please set `enableSiderScanTracing.userEmail` on your configration file (e.g.: .siderscan.json).

Step 3: ブラウザで解析結果を閲覧

Sider Scanのコンソールメッセージ2 block(s) was detected.は2件の問題を検出したという意味です。

そのレポートファイルは以下のフォルダに生成されます。ファイル名はreport-実行した日時-識別番号.htmlです。

$ ls hello_sider/reports/
2022-05-18_07-52-42-1-1-cpd.png   report-2022-05-18_07-52-42-1-1-cpd.html  report-2022-05-18_07-52-42-1-1-ss-0.html
2022-05-18_07-52-42-1-1-ss-0.png  report-2022-05-18_07-52-42-1-1-cpd.txt   report-2022-05-18_07-52-42-1-1-ss-0.txt

HTML形式のレポートファイルをブラウザで開いてみましょう。GUIのシェルからマウスクリックで開いてもよいですし、コマンドラインからは以下のように開けるはずです。browseの他に、xdg-openあるいはopenなどOSに応じてコマンドを変えてください。

$ browse hello_sider/reports/report-2022-05-18_06-28-44-2-2-ss-0.html

さあ、どうでしょう?興味深い解析結果はありましたか?