Analysis of program control structure and data flow - with applications for program complexity and data flow machines Public Deposited

http://ir.library.oregonstate.edu/concern/graduate_thesis_or_dissertations/5q47rs57p

Descriptions

Attribute NameValues
Creator
Abstract or Summary
  • The methodology of structured programming has enabled rapid progress in many areas of theoretical computer science. Structured programs are generally easier to debug, test, prove and analyse. The development of these achievements into commercially viable applications and products has been slower than expected. The primary reason is that most of the programs currently in use are unstructured and theories based on assumed structure are not relevant to them. This paper describes a procedure for associating statements in a program with the predicates that influence their execution. This association is independent of the structure of the program and it provides a characterization of the statements which corresponds to the property of nestedness in the control flow of structured programs. A set of axioms is introduced which facilitate the reduction of path expressions to forms in which the predicate influence at a given statement is readily identifiable. A second analytical tool is introduced in which programs are represented as compositions of predicate to predicate paths. These paths permit a tree-like representation of the program and can be used to convert unstructured code to structured code while preserving the logical structure of the original code. These two analytical techniques are applied to two unrelated areas of research. Firstly, they form a sound basis for the derivation of measures of the psychological complexity of programs. Quantifiable attributes of the control flow and the data flow in any program are defined. The behaviour of simple measures of these attributes when applied to some typical code segments is examined. In the second application we use these techniques to describe an alternate solution to a problem in the concurrent execution of programs using data flow machines. The problem concerns the timing of execution of a computation which references a variable that may have more than one value assigned to it in preceding code segments. A new set of symbols for the representation of programs as data flow machines is described, and their applicability to naturally-structured code is demonstrated.
Resource Type
Date Available
Date Copyright
Date Issued
Degree Level
Degree Name
Degree Field
Degree Grantor
Commencement Year
Advisor
Academic Affiliation
Non-Academic Affiliation
Subject
Rights Statement
Peer Reviewed
Language
Digitization Specifications
  • File scanned at 300 ppi (Monochrome) using Capture Perfect 3.0.82 on a Canon DR-9080C in PDF format. CVista PdfCompressor 4.0 was used for pdf compression and textual OCR.
Replaces
Additional Information
  • description.provenance : Approved for entry into archive by Patricia Black(patricia.black@oregonstate.edu) on 2013-08-21T16:46:24Z (GMT) No. of bitstreams: 1 HoltJohnD1982.pdf: 1230144 bytes, checksum: 27014716848408fdff173a05349e470c (MD5)
  • description.provenance : Made available in DSpace on 2013-08-21T16:46:24Z (GMT). No. of bitstreams: 1 HoltJohnD1982.pdf: 1230144 bytes, checksum: 27014716848408fdff173a05349e470c (MD5) Previous issue date: 1981-08-24
  • description.provenance : Submitted by Kevin Martin (martikev@onid.orst.edu) on 2013-08-16T17:17:27Z No. of bitstreams: 1 HoltJohnD1982.pdf: 1230144 bytes, checksum: 27014716848408fdff173a05349e470c (MD5)
  • description.provenance : Approved for entry into archive by Patricia Black(patricia.black@oregonstate.edu) on 2013-08-19T16:12:30Z (GMT) No. of bitstreams: 1 HoltJohnD1982.pdf: 1230144 bytes, checksum: 27014716848408fdff173a05349e470c (MD5)

Relationships

Parents:

This work has no parents.

Last modified

Downloadable Content

Download PDF

Items