Go、C/C++、CodeQL CLI の増分分析機能の追加
GitHub は CodeQL のインクリメンタル解析機能を C/C++、Go、および CLI に拡張し、大規模リポジトリでのスキャン時間を大幅に短縮した。
キーポイント
対象言語の拡大と CLI 対応
C# や Java など既存言語に加え、C/C++ と Go に対するインクリメンタル解析が正式にサポートされ、CodeQL CLI でも同機能を利用可能になった。
スキャン時間の劇的短縮効果
15,000 以上のリポジトリを対象とした測定では、非インクリメンタル解析と比較して分析時間が大幅に削減され、特に長時間かかるプロジェクトで効果が顕著だった。
デフォルト設定の自動化
GitHub.com の標準セットアップおよび詳細セットアップにおいて、「build mode none」抽出メカニズムを使用する全プロジェクトでインクリメンタル解析が自動的に有効化される。
影響分析・編集コメントを表示
影響分析
この発表は、特に C/C++ と Go を使用する大規模なオープンソースおよびエンタープライズプロジェクトにおいて、セキュリティスキャンにかかる時間を劇的に短縮し、開発者のフィードバックループを加速させる。また、CLI への対応により、オンプレミスや外部 CI システムでの運用も柔軟になり、コードセキュリティの継続的インテグレーション(CI)における実用性がさらに高まる。
編集コメント
セキュリティスキャンの速度向上は、開発者の継続的なコードレビュー文化を維持する上で極めて重要です。特に大規模な C/C++/Go プロジェクトを持つ組織にとって、この機能強化は運用コスト削減に直結する重要なアップデートと言えます。
C/C++ および Go に対するプルリクエストでの CodeQL スキャンが、増分的に実行されるようになり、高速化されました。今年初めに、CodeQL による C#、Java、JavaScript/TypeScript、Python、Ruby の分析に対して改善された増分解析(インクリメンタル・アナリシス)をリリースしました。現在、同様の改善を C/C++ および Go にも適用し始めるとともに、CodeQL CLI にも増分解析機能を追加しています。
15,000 を超えるリポジトリにわたって、非増分的なスキャンの実行時間に基づき、リポジトリを以下の 3 つのグループに分類しました:
3 分以下
3 分から 7 分の間
7 分以上
これらのリポジトリにおいて、7 日間にわたり、従来のスキャンと比較した増分的なスキャンにおける分析時間の減少を測定しました。すべてのケースで、増分的なスキャンは顕著な速度向上を示しました。
今回の最新の改善は、デフォルトの CodeQL クエリスイートを使用してコードスキャンを実行しているリポジトリに適用されます。
github.com 上のデフォルト設定および高度な設定の両方で、「build mode none」抽出メカニズムを使用しているすべてのプロジェクトに対して、増分的な CodeQL 解析(インクリメンタル・アナリシス)がデフォルトで有効化されています。
バージョン 2.25.5 以降、CodeQL CLI もサードパーティの CI システムにおいて増分解析をサポートするようになりました。
本記事「Go、C/C++、および CodeQL CLI に対する増分解析」は、最初に The GitHub Blog で公開されました。
原文を表示
CodeQL scans on pull requests for C/C++ and Go now run incrementally, making them faster. Earlier this year, we released improved incremental analysis for CodeQL analysis of C#, Java, JavaScript/TypeScript, Python, and Ruby. We are now shipping the same improvements for C/C++ and Go, and are also adding incremental analysis to the CodeQL CLI.
Across more than 15,000 repositories, we classified repositories into three groups based on how long it takes to run a non-incremental scan:
Three minutes or less
Between three and seven minutes
Seven minutes or more
For these repositories, we measured the change in analysis time for incremental scans compared to traditional scans over a seven-day period. In each case, incremental scans showed a significant speed up.
This latest improvement to incremental analysis applies to repositories using code scanning with the default CodeQL query suite.
Incremental CodeQL analysis is enabled by default for all projects that are using the build mode none extraction mechanism in both default setup and advanced setup on github.com.
Beginning with version 2.25.5, CodeQL CLI also supports incremental analysis in third-party CI systems.
The post Incremental analysis for Go, C/C++, and CodeQL CLI appeared first on The GitHub Blog.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み