| 原作者 | ダニエル・マルヤマキ |
|---|---|
| 初回リリース | 2007年5月8日 |
| 安定リリース | 2.16.0 [1]
/ 2024年10月27日 |
| リポジトリ |
|
| 書かれた | C++ |
| オペレーティング·システム | クロスプラットフォーム |
| 利用可能 | 英語、オランダ語、フィンランド語、スウェーデン語、ドイツ語、ロシア語、日本語、セルビア語、スペイン語、フランス語、イタリア語、韓国語、中国語 |
| タイプ | 静的コード分析 |
| ライセンス | GNU 一般公衆利用許諾書 |
| Webサイト | cppcheck.sourceforge.io |
CppcheckはCおよびC++プログラミング言語用の静的コード解析ツールです。非標準コードをチェックできる多目的ツールです。[2]作成者および主任開発者はDaniel Marjamäkiです。
Cppcheck は、 GNU General Public Licenseに基づくフリーソフトウェアです。
特徴
Cppcheck は、コンパイラ自体ではカバーされない可能性のあるさまざまな静的チェックをサポートしています。これらのチェックは、ソース コード レベルで実行できる静的分析チェックです。このプログラムは、ヒューリスティックな性質ではなく、厳密な静的分析チェックを目的としています。
サポートされているチェックには次のようなものがあります。
- 自動変数チェック
- 配列オーバーランの境界チェック
- クラスのチェック(未使用の関数、変数の初期化、メモリの重複など)
- Open Groupによる廃止または廃止された関数の使用法[3]
- 例外安全性チェック、例えばメモリ割り当てやデストラクタのチェックの使用
- メモリリーク、例えば解放せずにスコープを失うことによるもの
- リソースリーク(ファイルハンドルを閉じ忘れた場合など)
- 標準テンプレートライブラリ関数と慣用句の無効な使用
- unusedFunction オプションを使用したデッドコードの除去
- その他の文体およびパフォーマンス上の誤り
多くの分析プログラムと同様に、特定のターゲットケースやプログラマーのソースコード修正の範囲外で許容される可能性のあるプログラミングイディオムの珍しいケースが多数あります。2009年3月に実施された調査では、Cppcheckによって誤検出が検出されたいくつかの領域が特定されましたが、調査されたプログラムバージョンは指定されていませんでした。[4] Cppcheckは、 CERNの4DSOFTメタ分析パッケージなどのシステムでの使用が確認されています。 [5]高エネルギー粒子検出器読み出し装置のコード検証、[6]電波望遠鏡のシステム監視ソフトウェア[7]だけでなく、 OpenOffice.org [8]やDebianアーカイブなどの大規模プロジェクトのエラー分析にも使用されています。[9]
発達
このプロジェクトは活発に開発されており[10]、さまざまなディストリビューションで積極的にメンテナンスされています。[11] [12] LinuxカーネルやMPlayerなどの多くの人気プロジェクト[13]で有効なバグが発見されています。[14]
プラグイン
以下のIDEまたはテキストエディタ用のプラグインが存在する[15]
- クリオン[16]
- Code::Blocks - 統合されました。
- CodeLite - 統合されています。
- エクリプス[17]
- エマック[18]
- ゲディット[19]
- ハドソン[20]
- ジェンキンス[21]
- ケイト[22]
- KDevelop [23]
- Qtクリエイター[24]
- 崇高なテキスト[25]
- ビジュアルスタジオ[26] [27] [28]
- ヤスカ[29]
参照
参考文献
- ^ 「リリース Cppcheck-2.16.0」。GitHub 。 2024年10月27日。 2024年10月27日閲覧。
- ^ 「計算科学のための C および C++ ソフトウェア ツールの調査」(PDF)。科学技術施設評議会。チルボルトン、ダーズベリー、ラザフォード アップルトン研究所。2009 年 12 月。p. 14。2012 年 3 月 12 日時点のオリジナル(PDF)からアーカイブ。2010年9 月 14 日に閲覧。
- ^ 「システムインターフェース」。pubs.opengroup.org 。 2020年9月24日閲覧。
- ^ 「組み込みシステム向け静的コード分析」(PDF)。
- ^ 「知識の普及と利用に関する計画(EU 成果物 DNA2.11)」(PDF) 。2010 年。2013年 6 月 4 日時点のオリジナル(PDF)からアーカイブ。2010年 9 月 15 日閲覧。
- ^ "Entwurf und Implementierung einesadaptiven, strahlentoleranten eingebetteten Systems am Beispiel eines Read-Out-Controllers (En: 読み出しコントローラーの動作のための適応型放射線耐性組み込みシステムの開発と実装)" (PDF)。 2010。2012 年 3 月 11 日のオリジナル(PDF)からアーカイブされました。
- ^ 「ウェッツェルシステムの監視コンセプトと最初の実現」(PDF)。国際測地・天体測量VLBIサービス。2010年、447ページ。
- ^ 「大規模ソフトウェアの脆弱性の探索:OpenOffice スイート」(PDF)。2012 年 9 月 28 日時点のオリジナル(PDF)からアーカイブ。2010年 9 月 15 日に取得。
- ^ 「Debian の自動コード分析 (DACA) プロジェクトの紹介」LWN.net。
- ^ Github 上の Cppcheck
- ^ Debian のパッケージ追跡システムにおける Cppcheck
- ^ FreeBSD ポート
- ^ 「cppcheck によって発見されたユーザー報告バグのリスト」。
- ^ 「発見されたバグリスト」。SourceForge 。 2013年10月14日時点のオリジナルよりアーカイブ。
- ^ 「SourceForge.net: cppcheck」。sourceforge.net。2012年7月18日時点のオリジナルよりアーカイブ。
- ^ 「CLion 用 cppcheck プラグイン」。plugins.jetbrains.com。
- ^ 「Cppcheclipse」. github.com .
- ^ 「Flycheck」. github.com .
- ^ 「gedit Cppcheck プラグイン」。github.com。2012年12月17日時点のオリジナルよりアーカイブ。
- ^ 「Cppcheck プラグイン」。hudson -ci.org。2017年 10 月 26 日時点のオリジナルよりアーカイブ。2010 年 9 月 15 日閲覧。
- ^ 「Cppcheck プラグイン」。jenkins-ci.org。2022年5月20日。
- ^ Cullmann, Christoph (2013-02-02). 「Kate Project プラグインニュース – コード分析」。Kate | 編集で優位に立つ。2016-12-14閲覧。
- ^ Funk, Kevin (2016-12-06). 「KDevelop の Cppcheck プラグインが kdevelop.git に統合され、5.1 でリリースされる予定です」 。2016年 12 月 14 日閲覧。
- ^ 「Qt Creator プラグイン ギャラリー」。Qt Wiki。
- ^ 「Sublimelinter プラグイン」. github.com .
- ^ 「Cppcheck アドイン」。Visual Studio Marketplace。
- ^ VioletGiraffe. 「ホームページ cppcheck-vs-addin」. GitHub . 2014 年3 月 3 日閲覧。
- ^ Srix. 「Visual Studio 用のシンプルなオープン ソースの静的解析ツール」。2015 年 2 月 10 日時点のオリジナルよりアーカイブ。2012 年8 月 27 日閲覧。
- ^ スコヴェッタ、マイケル。「ヤスカ」。
外部リンク
- SourceForgeの Cppcheck
