ソースコードの品質向上|情報処理安全確保支援士試験 令和7年春期午前Ⅱ 問22

出典:令和7年春期 午前Ⅱ 問22 分野:システム開発技術 / 実装・構築
アジャイル開発のプロジェクトで,ソースコードの品質を向上させるために,バグ,コードの重複,脆弱性につながるコードを自動で検出することができるOSSのツールを導入したい。導入するOSSとして,最も適切なものはどれか。
  • ア:Git
  • イ:Jenkins
  • ウ:Snort
  • エ:SonarQube
解説

SonarQubeは、ソースコードを静的解析し、バグ・コードの重複・脆弱性につながるコード・コードスメルなどを自動で検出できるOSSツールです。

アジャイル開発やCI/CDの流れに組み込み、継続的にコード品質を確認する用途で利用されます。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:Git
⇒ソースコードの版管理ツールです。コードの重複や脆弱性を自動検出する静的解析ツールではありません。
イ:Jenkins
⇒CI/CDを実現する自動化サーバです。ビルドやテストの自動実行には使えますが、コード品質解析そのものを主目的とするツールではありません。
ウ:Snort
⇒ネットワーク型IDS/IPSです。ネットワーク上の不審な通信を検知するツールであり、ソースコード品質の解析ツールではありません。
TSUNAGARU-ADVICE

まず押さえたいこと

この問題では、開発支援ツールの名前を覚えるだけでなく、ソースコードを静的に解析して品質上の問題を見つけるツールを選ぶことが重要です。

迷ったときの判断軸

Gitはバージョン管理、Jenkinsはビルドやテストの自動化、Snortはネットワーク侵入検知に使われます。一方でSonarQubeは、バグ、コードの重複、脆弱性につながるコードなどを自動検出する静的解析ツールとして整理すると判断しやすくなります。

科目Bにつなげるために

科目Bでは、開発工程の中でどのツールをどの目的で使うのかを問われます。品質向上の文脈では、コード管理、CI/CD、侵入検知、静的解析の役割を切り分けることが重要です。※開発関連試験向け