*
東京大学情報理工学系研究科 千葉滋研究室との3年に渡る共同研究の成果
東証プライム上場企業 株式会社フィックスターズ 子会社が開発
24時間365日 AIが自動でコードレビュー
無料で利用可能。利用期間に制限もありません
人のレビューや既存の静的解析ツールでは見逃されてしまう、重複に起因する問題コードを発見
東京大学情報理工学系研究科 千葉滋研究室との3年に渡る共同研究の成果
東証プライム上場企業 株式会社フィックスターズ 子会社が開発
24時間365日 AIが自動でコードレビュー。無料で利用可能。利用期間に制限もありません。
人のレビューや既存の静的解析ツールでは見逃されてしまう、重複に起因する問題コードを発見。
ソースコードを自動で静的解析し、バグの可能性が高い、すぐに確認すべき「要確認コード」や、リファクタリングの候補となる重要度の高い「重複コード」を検出します。
対象リポジトリに含まれる全てのソースコードを24時間365日解析します。
(解析に不必要なファイルやフォルダは除外設定も可能です)。
解析結果を開発者やQAエンジニアにメールやSlack で通知。添付されるURLをクリックすると、問題コードの詳細を、通常のブラウザで閲覧できます。
問題が検出されたコードは、独自のアルゴリズムでリスク評価され、確認の優先度が高い順にHigh, Mid, Low のラベルが付きます。デバッグの目安にしてください。
Java
JavaScript
TypeScript
PHP
C
C++
C#
Swift
Ruby
CUDA
$ git clone https://github.com/sider-bughunter/hello_sider.git
$ docker run -v "$(pwd)/hello_sider":/builds -w /builds --rm sider/sider_scan_runner:latest sider run /builds
$ browse hello_sider/reports/report-*-ss-*.html
Sider Scan は、ソースコード内の記述の類似性に着目した静的解析ツールです。そのため、重複コードやコードクローンと呼ばれる類似のコードが多数含まれる、下記のようなソフトウェア開発チームで特に効果を発揮します。
重複コード(コードクローン) を修正する場合、対象コードだけではなく、他の重複コードも漏れなく検索し、改修が必要かどうかの判断をしなければなりません。
開発者が多数参加するようなプロジェクトでは、重複コードを作った人(コピペをした人)と、その重複コードを修正する人やコードレビュー担当者が異なる場合も多く、修正漏れが発生するリスクが高まります。
DRY(Don't repeat yourself) 原則は、「同じ意味や機能を持つ情報を複数の場所に重複して置くことをなるべく避けるべき」とする、ソフトウェア品質を保つ上で重要な原則です。しかし、実際には開発の過程でDRY原則が守られない場面もあり、重複コードは徐々に増えていく傾向にあります。
ある程度の開発年月が経つと、重複コードの管理は人間の手には負えなくなってきます。
メンバーのスキルの差も、ソフトウェア品質に重大な影響を与えます。新人の採用、外注、オフショア、ニアショアなど、大規模プロジェクトでは様々な素性の開発者が参画し、スキルレベルに差が生じます。
このようなプロジェクトでは、安易な「コピペ」が頻発しがちです。コピペに起因する問題のデバッグは非常に困難であり、プロジェクトの潜在的なリスクとなり得ます。