![他人のソースコードを読む時のコツ](https://i.ytimg.com/vi/5N8zjZ_8Qas/hqdefault.jpg)
コンテンツ
- 定義-ソースコード分析とはどういう意味ですか?
- Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
- Techopediaがソースコード分析について説明します
定義-ソースコード分析とはどういう意味ですか?
ソースコード分析は、アプリケーションを販売または配布する前に障害を見つけて修正することを目的とした、プログラムのソースコードの自動テストです。
ソースコード分析は静的コード分析と同義であり、ソースコードは単にコードとして分析され、プログラムは実行されていません。これにより、テストケースを作成して使用する必要がなくなり、仕様に記載されている色とは異なるボタンのような機能固有のバグから分離される場合があります。プログラムのクラッシュを引き起こすコード行のような適切な機能に有害である可能性のある障害を見つけることに集中します。
Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
Techopediaがソースコード分析について説明します
ソースコード分析は、基本的に自動化されたコードデバッグです。目的は、プログラマには明らかではないバグや障害を見つけることです。バッファオーバーフローの可能性、ポインタの乱雑な使用、ガベージコレクション機能の誤用などの障害を検出することを目的としています。これらはすべて、ハッカーによって悪用される可能性があります。
コードアナライザーは、検索対象を指示するルールを使用して機能します。精度が低すぎると、アナライザーは誤検知を大量に吐き出し、ユーザーに無用な警告を殺到させる可能性がありますが、精度が高すぎると完了に時間がかかりすぎる可能性があります。したがって、バランスを取る必要があります。
アナライザーには次の2種類があります。
- プロシージャー間-ある関数から次の関数へのパターンを検出します。これらのパターンは相関されているため、アナライザーはモデルを作成して実行パスをシミュレートできます。
- 手続き内-パターンマッチングに焦点を当て、ユーザーが探しているパターンの種類に依存します。
プロシージャー間アナライザーは、より現代的で複雑です。これの良い例は、Coverity、Fortify、Microsoft独自の集中管理ツールPREfixです。