A Control-Flow Normalization Algorithm and its Complexity

  • Authors:
  • Zahira Ammarguellat

  • Affiliations:
  • -

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

A single method for normalizing the control-flow of programs to facilitate program transformations, program analysis, and automatic parallelization is presented. While previous methods result in programs whose control flowgraphs are reducible, programs normalized by this technique satisfy a stronger condition than reducibility and are therefore simpler in their syntax and structure than with previous methods. In particular, all control-flow cycles are normalized into single-entry, single-exit while loops and all GOTOs are eliminated. Furthermore, the method avoids problems of code replication that are characteristic of node-splitting techniques. This restructuring obviates the control dependence graph, since afterwards control dependence relations are manifest in the syntax tree of the program. Transformations that effect this normalization are presented, and the complexity of the method is studied.