制御フローグラフとは
制御フローグラフ(CFG)は、コンピュータープログラムのコードが取ることができるさまざまなパスを視覚的に表現したものです。CFGは、ノードと呼ばれる一連のシンボルで構成され、矢印で接続されています。各ノードが次のノードに進むことができるルート。各ノードはプログラミングコードの重要な行を表します。「CFGをレンダリングする方法はいくつかありますが、それらはすべて」 一般的に同じ方法で読み取られます。appearance外観では、control制御フローグラフはフローチャートと似ています。
制御フローグラフを作成する主な目的の1つは、コンピュータープログラムに不要な部分があるかどうかを発見することです。controlこれは、制御フローダイアグラムを見ると簡単に実現できます。残りのノードに接続する矢印は削除できます。
制御フローグラフのもう1つの目的は、無限ループなどの問題の分離を支援することですprogram programプログラムの実行が単一のノードを超えて移動しない場合そのため、プログラムが前のノードに何度も繰り返し戻るため、その条件が満たされない状況を見つけることができます。
最後に、control control control制御フローグラフは、プログラム依存グラフの作成に役立ちます。programこのタイプのグラフは、プログラムのどの領域が他の部分に依存しているかを示します。 「プログラム」コードが「正しい」順序で実行されていることを確認してください。
制御フローグラフの視覚的性質は、それを潜在的に非常に貴重なものにすることができる機能の1つです。never直接呼び出されたりアクセスされたりしないコードの断片は、メインプログラムにリンクする矢印がないため、かなり明白になりますまたは、条件はコードに到達するために決して満たすことができないことを示します。ありますseries一連のソースコードファイルに基づいて制御フローグラフを自動的に生成できるコンピュータープログラムは、プロセスをさらに簡素化します。
制御フローグラフはさまざまな方法で表現できるため、誰が作成したかによって異なるように表示される場合があります。いくつかのグラフでは、ノードを表すために「円または四角」を使用します。 shapes standard「標準的なフローチャート」と同じ形theyまったく同じように読まれますが、method「選択された方法は純粋に個人的な好みです」