Coverityがバージョン7.0をリリースした。21の新しく強力なC#に対する分析アルゴリズムが追加されており、C#のコードの欠陥検出の精度が向上している。さらに、リソースのリークや並列処理の問題、null参照なども修正されている。
この新しいリリースにはOpen Web Application Security Project (OWASP)に対する新しいカバレッジが含まれている。また、Javaアプリケーションの脆弱性に対する追跡機能も強化されており、JavaとC/C++のコードに対する17の強化された分析が含まれている。これらの分析はクラッシュや不正確な処理、予測できない振る舞いを検出することができる。
Coverity 7はSonarQube統合を提供する。これは、開発者が単一のワークフローだけで Javaアプリケーションの幅広い欠点を確認し管理できる。さらに、新しいセキュリティ監査とコンプライアンスビューも提供される。
今回のリリースはEclipseとVisual Studioと統合されており、さらにAndroidとWindRiverで動作するデバイスの単体テスト分析も提供する。また、Objective-CとC/C++の開発で広く使われているClangコンパイラもサポートする。
InfoQはCoverityのプロダクトマーケティング部門のシニアディレクターであるKristin Brennan氏に今回のリリースについて話を聞いた。
InfoQ: CoverityとVisual Studio 2013で利用できるテストツールとはどのような違いがあるのでしょうか。
CoverityはVisual Studio 2013(以前はFxCopという名で知られた)のテストツールを補完します。というのは両者は異なるものを扱うからです。.NET frameworkの黎明期に一貫した標準的な書式のためのガイドラインが作られました。クラスのメンバの名前の付け方、名前空間はどうするべきか、クラスの間の関係はどうするかというようなことです。Visual Studioのツールはこれらのルールが違反されていないかに注目します。そして、Visual Studioのツールは進化していますので、バイトコードレベルでの問題も分析して検出するようになっています。しかし、バイトコードを分析して見つかる問題は全体の問題のごく一部です。
Coverityはより狭い範囲でより深い分析を行います。Visual Studioのツールがバイトコードを分析してコードの一貫性を保持するために設計されているなら、Coverityはソースコードを分析し、致命的でインパクトが大きいバグを検出します。null参照や、リソースの問題、スレッドの問題です。
InfoQ: Coverityの目的とは何でしょうか。
Coverityは開発する組織がより良いソフトウエアを素早く開発できるように支援するため設立されました。Coverity Development Testing Platformは素早く効率的にコードのテストし、致命的な品質上、セキィリティ上の問題に対処するための静的解析を提供します。このプラットフォームは高品質でセキュアなソフトウエアを素早く提供できるようにすることで、ソフトウエア開発に競争力を提供します。
InfoQ: Coverityは開発者にどのような利点を提供しますか。
Coverityは開発者がより良いソフトウエアを素早く開発できるようにします。コードをテストし、致命的な影響力のある品質上、セキュリティ上の問題に対処できます。
InfoQ: Coverityを使ってテストできるアプリの種類を教えてください。
C/C++、Java、C#で書かれたどのような種類のアプリでもテストできます。
InfoQ: iOS、Android、Windows Phone 8はどうでしょうか?
iOS、Android、Windowsモバイルデバイス向けにC/C++をサポートします。