ホーム > 情報処理安全確保支援士試験 > 2025年 春期
情報処理安全確保支援士試験 2025年 春期 午前2 問22
アジャイル開発のプロジェクトで、ソースコードの品質を向上させるために、バグ、コードの重複、脆弱性につながるコードを自動で検出することができる OSS のツールを導入したい。導入する OSS として、最も適切なものはどれか。
ア:Git
イ:Jenkins
ウ:Snort
エ:SonarQube(正解)
解説
アジャイル開発においては、短いサイクルで継続的にソフトウェアを改善していくため、ソースコードの品質管理が非常に重要です。品質向上のためには、バグ(不具合)、コードの重複、さらにはセキュリティ上の脆弱性を自動で検出し、早期に対応することが求められます。
この問題では、そうしたコード品質の自動検査が可能なOSS(オープンソースソフトウェア)ツールを選ぶ必要があります。選択肢の中でそれぞれの役割を簡単に説明しましょう。
-
ア: Git
Gitは分散型バージョン管理システムで、ソースコードの変更履歴を管理するためのツールです。コードの品質検査機能は持っていません。 -
イ: Jenkins
Jenkinsは継続的インテグレーション(CI)ツールで、コードのビルドやテストを自動化するためのツールです。静的解析ツールを組み合わせて使うことはありますが、Jenkins自体にはコード品質の自動解析機能はありません。 -
ウ: Snort
Snortはネットワーク侵入検知システム(IDS)であり、ネットワーク上の不正アクセスや攻撃を検出するためのツールです。ソースコードの品質検査とは異なります。 -
エ: SonarQube
SonarQubeはソースコードの静的解析ツールで、バグやコードの重複、セキュリティ脆弱性を自動で検出し、レポートとして視覚的にまとめてくれます。多数のプログラミング言語に対応しているため、アジャイル開発の現場で広く利用されています。
まとめ
ソースコードの品質管理に特化し、バグや重複、脆弱性を検出できるOSSツールとして最も適切なのは 「エ: SonarQube」 です。
このように、アジャイル開発で継続的な品質改善を行うには、SonarQubeのような静的解析ツールを組み合わせて利用することが効果的です。