Edited at

Next Force.com Security Source Code Scanner

More than 1 year has passed since last update.


はじめに

2016年10月より、Force.com Security Source Code Scannerが一部を除き、有償化されてしまいました。セキュリティレビューのために必要なチェックを実施できるツールですが、コード品質を向上させるためにも利用できていました。

今回の有償化処置により、Lintのように定期的に実施してコード品質の維持・向上に役立てる使い方ができなくなってしまいました。ということで、今回は代わりとなるツールがないか調査した結果をまとめてました。


調査結果(2016年12月25日時点)

今回調査した範囲で見つかったはツール・サービスは以下のとおりです。


CxSAST Salesforce Plugin

CheckMarxが提供するツールです。Salesforce組織にアプリケーションをインストールして利用します。静的コード解析の対象としては、Apex Classes (Test Classes included)、Apex Triggers、VisualForce Pagesになります。結果をPDF、XMLで受け取ることができます。

提供元のCheckMarxはForce.com Security Source Code Scannerも作成している会社なので、同等製品の有償版と思われます。

価格については記載が見つけられませんでした。


{/code.scan} :: Code Analysis for Salesforce

SonarQubeのプラグインとして利用できるサービスです。160以上のチェックルールが用意されており、各種メトリクスも収集できます。

価格は下記のように記載されていました。

Menu
Description
Pricing

On-Premise Standard
Annual Commitment
Ideal for smaller or multiple Orgs
\$1,400 / year / 'code block'
\$140 / month / 'code block'

On-Premise Multi-Sandbox
Annual Commitment
Ideal for multi-sandbox environments
\$2,800 / year / 'code block'
\$280 / month / 'code block'

Eclipse
Requires an On-Premise License
\$50/month/user


Clayton

Space Heroes Ltdが提供するコードレビューサービスです。リポジトリを登録すると、自動的に静的コード解析を実行し、結果をプルリクエストとして返してくれます。静的コード解析の範囲としては、performance, security, complexity, styleになります。

価格は下記のように記載されていました。Professionalはユーザー数に応じ価格が変わるようになっていました。

Menu
Description
Pricing

Personal
Public repositories only.
FREE
UP TO 5 REPOSITORIES

Professional
Unlimited public and private repositories,pay based on the size your team.
\$75 PER MONTH
Billed annually.
\$90 if billed monthly.

Up to 5 users


Code Climate

PMDをエンジンとして利用したコードレビューサービスです。リポジトリを登録すると、自動的にコードレビューを実行してくれます。静的コード解析の範囲としては、test coveragemcomplexity、duplication、security、styleなどになります。

価格は下記のように記載されていました。

Menu
Description
Pricing

Standard
Ideal for smaller teamsand individuals
$1667per seat / month
billed annually

Enterprise
Ideal for larger organizations
要問合せ

オープンソースとして公開されているので、自分でホスティングする場合は無料で利用できるようです。

ApexMetrics - Code Climate engine for Salesforce.com Apex


PMD Apex

オープンソースの静的コード解析ツールです。広く使われているツールで、様々な言語の静的コード解析が提供されており、EclipseやIntelliJ IDEAなどのIDEのプラグインも提供されています。また、Maven/Antからも実行し、Jenkinsと連携することもできます。

静的コード解析の範囲としては、ApexUnit、Complexity、Performance、Security、Styleになります。ルールセットの説明はこちらにあります。


おわりに

コードレビューは、不具合を効率的に除去でき、チームによるコード所有を推進します。

コードレビューの問題点として、機械的にチェックできるような問題のためにコードレビューの時間を無駄にしてしまう、軽微な問題がノイズとなりコードレビューに集中することができない、といった点があります。

昨今の開発では、このような問題に対処するためにLintやコードレビューサービスを利用してコーディングした開発者自身が軽微な問題をチェック・修正できるようにする流れがあります。

今回調査してみて、個人的に想定よりも多くのツールやサービスが提供されているように感じました。調べきれなかったサービスや新サービスなどありましたら、お知らせいただければ幸いです。

まずは、無料で利用できるPMD Apexあたりを試してみようかと考えています。

Merry Christmas!

※ この投稿はSalesforce App Cloud Advent Calendar 2016 の15日目の代打記事です。