私はLinuxカーネルに非常に慣れていません。スパース ツールとコベリティ ツールの違いを知りたいですか? どちらも静的コード分析に使用されるためです。では、どのツールが優れているかをどのように判断するのでしょうか? 私が知っている唯一の違いは、sparse はオープン ソースですが、coverity の場合はそれを使用するライセンスが必要です。
coverity/sparse でしか追跡できない特定のバグのセットはありますか?
以下は、Coverity が問題を報告するコードの一部ですが、Sparse は報告しません。
foo(){
int x;
scanf("%d", &x);
switch(x){
case 1: printf("CASE 1");
case 2: printf("CASE 2");
break;
default:
}
}
上記の設定例では、Coverity は、ケース 1でbreakステートメントが欠落しているという警告を報告します。でも、スパースじゃない?
ただし、どちらのツールもソフトウェアの静的コード分析に使用されます。両方のツールの長所と短所を強調できるドキュメントを共有してください。