Loading article…
数学の グラフ理論では、与えられたグラフ内の単一入口単一出口 (SESE)領域は順序付けられたエッジ ペアです。
たとえば、順序付けられたエッジペア ( a、 b ) では、異なる制御フローエッジaとbがあり、次のようになります。
- aがbを支配する
- b がa を後支配する
- a を含むすべてのサイクルにはbも含まれ、その逆も同様です。
ここで、有向グラフにおいて、開始からyへのすべてのパスにx が含まれる場合、ノードxはノードy を支配していると言われます。 yから終了へのすべてのパスにx が含まれる場合、ノードxはノードy を後支配していると言われます。
したがって、aとb はそれぞれ入口エッジと出口エッジを指します。
- 最初の条件は、開始から領域へのすべてのパスが領域のエントリ エッジaを通過することを保証します。
- 2 番目の条件は、領域内から終了までのすべてのパスが領域の出口エッジbを通過することを保証します。
- 最初の 2 つの条件は SESE 領域を特徴付けるのに必要ですが、十分ではありません。バックエッジは優位性または後優位性の関係を変更しないため、最初の 2 つの条件だけではバックエッジが領域に出入りすることを禁止しません。
- 3番目の条件は2つの制約をエンコードします。領域内からaの「上」の点へのすべてのパスはbを通過し、 bの「下」の点から領域内の点へのすべてのパスはaを通過します。[1]
参考文献
- ^ プログラム構造ツリー: 制御領域を線形時間で計算する
