Sider

Sider(サイダー)は、ソフトウェア開発のプラットフォームであるGitHubと公式に連携しているコードレビュー自動化ツールである。また、GitLabにも対応している。静的コード解析に基づいて設計されており、いくつもの静的コード解析ツールと連携することができる。Siderの使用により、コーディングスタイル違反、コードの品質、コードのセキュリティー、依存性などをチェックすることができる。 Siderの前身となるコードレビュー自動化ツールSideCIは、日本の東京に本拠地を置く株式会社アクトキャット（現：株式会社Sider）によって2014年4月に開発された。2016年8月からは汎用プログラミング言語Rubyに対応して技術的負債を可視化する「負債カンバン」の提供を開始し、2017年6月にこれを終了している。 株式会社アクトキャットは2018年1月に社名をサービス名と同じSideCI株式会社へと変更、さらに2018年6月にサービス名がSideCIからSiderへ改称されたことを受け、社名もSideCI株式会社からSider株式会社へと変更された。その後、2019年10月にSider株式会社は株式会社フィックスターズの100%子会社である株式会社スリークへ譲渡され、Sider事業の運営会社が株式会社スリークに変更された。その後、2020年12月に株式会社スリークが株式会社Siderに社名変更を行った。 2020年7月現在、Siderの解析システムはRuby、PHP、JavaScript、TypeScript、CSS、Java、Kotlin、Python、Go、Swift、C/C++、C#、Shell Script, Dockerfile, Markdownなどのプログラミング言語に対応している。 1990年代半ばからプログラミング開発現場では、従来のウォーターフォール形式での開発の厳格さへのアンチテーゼからアジャイルソフトウェア開発の手法が取られることが多くなり、1996年に開発され1999年に書籍が発表されたエクストリームプログラミングが普及により、チームによる共同開発が主流になった。そのためコードは従来のようにプログラムを実行した際に与えられた要件を正確に動作するかという観点だけではなく、共時的ないし通時的に開発に関わるメンバー全員が理解しやすいかどうかという観点も重要視されるようになった。 この正確性と平易性の保持のためには開発中の恒常的なコードレビューは避けられない。だが全自動の静的コード解析には多額のコストが必要であるうえ、実行時エラーを全て検出することは不可能であることが証明されており、任意のプログラムが正しく動作するかエラーになるかを判定する機械的手法はない。そもそもどの視点で解析するかに端を発する理論上の実現不可能性を抱えている（チューリングマシンの停止問題およびライスの定理）ため、実際には人力による動的プログラム解析を待つ必要がある。とはいえ全てのコードを逐一チェックする人的コードレビューには膨大な時間が掛かるため現実的とは言えない。 以上のような状況を鑑みて2014年4月に開発されたコードレビュー自動化システムがSideCI(現：Sider)である。 Siderは先述のコードレビューにかかる包括的なコスト問題について、ユーザー体験をデザインすることで解決に導いている。Siderが扱う数種の静的解析ツールはGitHub上でプルリクエストをした際に自動的かつ一斉にコードの検証を行い、問題を含む可能性のある部分を検出する。ここでは不適切とみなされたコードの自動書き換えが行われないため、ユーザーは解析ツールが不適とみなしたものの人的判断では問題のないコードがいつのまにか書き換わっているというリスクを犯すことなく、問題を含む部分のみを自らのチームで検証あるいは修正することができる。 30秒で初期設定ができる。設定が完了する前でも、テストモードを利用するとSiderからGitHub 上のプロジェクトを選択することで即時に解析を行うことができる。 20以上の解析ツールに対応し、標準的なコーディング規約・ベストプラクティスをサポートする。 GoodcheckやQuerlyを使用し、コードを書かずにカスタムルールを追加することができる。 希望に応じてSlack (ソフトウェア)等との外部連携が可能である。 Siderはユーザーがプルリクエストをした際、自動でスタイルの問題点、複雑性、重複、セキュリティーの脆弱性について瞬時に読み取り、指摘する。ユーザーは既存のコードレビューのフローを変更することなくマージする前にチームで問題点について話し合い、直すことができる。 正確で多様な解析を絶え間なくすることで技術的負債のリスクを下げ、コードをきれいに保つことができる。 技術者によるサポートチームがあり、導入時やトラブルシューティングのサポートを受けられる。 Siderはオープンソースのプロジェクトに関して無料で使用できる。また、すべての GitHubユーザーは無料で14日Siderを試すことができる。 Ruby RuboCop Brakeman Reek Querly Rails Best Practices haml-lint PHP PHPMD PHP_CodeSniffer JavaScript ESLint TSLint JSLint CoffeeLint CSS Stylelint SCSS-Lint Java PMD Checkstyle Go Go Meta Linter Go vet Golint Python Flake8 Swift SwiftLint Other Misspell Goodcheck Ruby biz Grand prix 2016 特別賞 [脚注の使い方] ^ a b 株式会社Sider 第4期決算公告 ^ a b c d e f g h i “Sider Product page”. 2018年7月25日閲覧。 ^ “自動コードレビュー「SideCI」運営のアクトキャットが数千万円規模の資金調達”. TechCrunch Japan. 2018年8月6日閲覧。 ^ “自動コードレビュー「SideCI」が、技術的負債を可視化する「負債カンバン」提供開始”. TechCrunch Japan. 2018年8月6日閲覧。 ^ “SideCIはレビューにフォーカスするため、負債カンバンを廃止しました”. Sider Blog. 2018年7月31日閲覧。 ^ “コードレビュー自動化ツール「SideCI」の株式会社アクトキャット、「SideCI株式会社」に社名を変更”. ValuePress!. 2018年8月6日閲覧。[リンク切れ] ^ “SideCIはSiderにサービス名変更しました”. Sider Blog. 2018年7月31日閲覧。 ^ “Sider About page”. 2018年7月25日閲覧。 ^ sideci (1570165200). “Siderの運営会社が2019年10月末日より株式会社スリークに変わります”. Sider Blog. 2020年7月17日閲覧。 ^ “Sider Pricing page”. 2018年7月25日閲覧。 ^ “Ruby biz Grand prix 2016 Award Ceremony”. Ruby biz Grand prix 【Rubybizグランプリ実行委員会/島根県】. 2018年8月6日閲覧。 オープンソース 静的コード解析 ソフトウェア開発ツール Sider (official website)