Interactive control restructuring

An interactive algorithm for improving control flow is introduced. This algorithm has been implemented within the ENCORE re-engineering environment. The objective of the algorithm is to restructure input code so as to simplify the control flow. A key feature of the algorithm is that is permits user control during the restructuring. The algorithm also handles, in a natural manner, multiple return statements, multiple loop exits, multi-level loop exits and endless loops.