An Approach to Concurrent Control Flow Checking

Stephen S. Yau, Fu Chung Chen

Research output: Contribution to journalArticlepeer-review

72 Scopus citations


A control flow checking scheme capable of detecting control flow errors of programs resulting from software coding errors, hardware malfunctions, or memory mutilation during the execution of the program is presented. In this approach, the program is partitioned into loop-free intervals and a database containing the path information in each of the loop-free intervals is derived from the detailed design. The path in each loop-free interval actually traversed at run time is recorded and then checked against the information provided in the database, and any discrepancy indicates an error. This approach is general, and can detect all uncompensated illegal branches. Any uncompensated error that occurs during the execution of a loop-free interval and manifests itself as a wrong branch within the loop-free interval or right after the completion of execution of the loop-free interval is also detectable. The approach can also be used to check the control flow in the testing phase of program development. The capabilities, limitations, implementation, and the overhead of using this approach are discussed.

Original languageEnglish (US)
Pages (from-to)126-137
Number of pages12
JournalIEEE Transactions on Software Engineering
Issue number2
StatePublished - Mar 1980
Externally publishedYes

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'An Approach to Concurrent Control Flow Checking'. Together they form a unique fingerprint.

Cite this