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

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Computers
  • Computing Devices
  • Data Processing
  • Digital Computers
  • Information Processing
  • Instructions
  • Iterations
  • Steady State

Readers

  • Computational Modeling and Simulation
  • Operations Research
  • Parallel and Distributed Computing.