ANAアナライザーは、CPPメモリリーク(またはそれ以上?)の分析に使用できる分析ツールです。コレクションをチェックします。 C ++ 20を使用したいくつかの概念ライブラリを含みます。これは、Clang Static Analyzerに基づいており、コードを生成した言語をLLVM IRに生成する言語を分析するために使用できる静的アナライザーにしたいと考えています。そして、言語の分析に使用できるいくつかの機能を実装します(静的分析またはプログラム分析のすべてのアルゴリズム)

長い間、抜け穴をすばやく見つけ、プログラムでさまざまな潜在的なエラーを可能な限り見つける方法は、コンピューターサイエンスコミュニティで重要な問題でした。この問題は、大規模な国際的なソフトウェア企業からも高く評価されています。業界では、人々は多くの場合、さまざまな検出方法を使用してソフトウェアのバグを見つけ、ソフトウェアの品質を向上させます。動的テスト方法とは異なり、ソフトウェアを実行せずにプログラムコードを直接分析して、いくつかのエラーを見つけることもできます。この種の方法は、静的分析と呼ばれます。これは、プログラミング言語と編集とソフトウェアエンジニアリングの分野における重要な研究方向です。比較的有名な早期発達の静的分析ツールはLINTであり、これは主にC言語のセキュリティ問題をチェックします。近年、静的分析技術は、オペレーティングシステムと情報セキュリティの分野で学者の注目を集めています。錆言語によって提案されているいくつかのコアセマンティクスは、他の言語への参照としてもできます。このペーパーでは、C ++のセキュリティ強化に焦点を当て、静的分析技術を使用してC ++のメモリ問題を分析します。ポインターやその他の問題の脆弱性などによって引き起こされる害など、対応するソリューションが与えられ、錆と同様の借入小切手ライブラリが開発者に提供されます。既存の静的分析ツールよりも利点があるClang Static Analyzerに基づいていくつかのチェックが実装されています。
私のリリースをダウンロードしますが、LLVM@15以上を使用することを忘れないでください。コマンドを実行します。
/path/to/install/clang++ -cc1 -load ANA.dylib
-analyze -analyzer-checker=ANA
foobar.cppあなたはあなた自身の依存関係を作ることができます、
conanまたはvcpkgインストール{fmt}とGoogleを使用するか、gitサブモジュールを使用します
LLVM@15以上をインストールします
まず、すべての依存関係をインストールする必要があります。そして、あなたは構築することができます。
mkdir build
cd build
cmake .. -G Ninja # optional obviously
ninja次のターゲットを取得します。
ClangPlugins
├── assign-or-float-compIn-branch-cond-checker
├── CMakeLists.txt
├── function-printer
├── sample-checker
└── simple-allocation-operators-checker
アナライザーを構築します。あなたはしたい。
簡単なのは、テストディレクトリの例を参照してください。 ./runalltest.sh
次の依存関係をインストールします。 FD -FD(https://github.com/sharkdp/fd)最初にインストールする必要があります
UTILSでベンチマークを実行します。