PROGRAM ANALYSIS OF DIGITAL COMPUTER.
Abstract
Comparing properties of non- and self-modifying programs leads to the definition of independent and dependent instructions. Non-modifying programs contain only independent instructions, and such programs can be analyzed by a straight-forward, two-step analysis procedure. First, program control flow is detected; second, that control flow is used to determine program data flow or data processing. However, self-modifying programs can also contain dependent instructions, and then program control flows and data flows exhibit cyclic interaction. This cyclic interaction suggests using an iterative or relaxation analysis technique. Initially, the relaxation procedure determines a first approximation to control flow; the second step, to data flow. These two steps are repeated until steady-state condition is reached. Algorithms for implementing the first iteration are presented. These algorithms are capable of analyzing programs which modify their control and processing instructions while executing. Also described are data structures which permit constructing functional expressions for data flow or information processing. Finally, actual output flowcharts of self-modifying programs are displayed. (Author)
Document Details
- Document Type
- Technical Report
- Publication Date
- Aug 01, 1967
- Accession Number
- AD0662224
Entities
People
- Daniel U. Wilde
Organizations
- Massachusetts Institute of Technology