Variations on Constants: Flow Analysis of Sequential and Parallel Programs

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Program analysis is concerned with techniques that automatically determine run-time properties of given programs prior to run-time. It is used for validation in order to ensure that programs serve their intended purpose and in further processing for efficient execution such as in optimizing compilers. Optimal program analysis provides a guarantee about the precision of the computed results.

This monograph, a revised version of the author's habilitation thesis, focusses on optimal flow analysis of sequential and parallel programs. It studies algorithmic properties of various versions of the well-known constant-propagation problem. In order to come to grips with the variants considered, it combines techniques from different areas such as linear algebra, computable ring theory, abstract interpretation, program verification, complexity theory, etc. Combination of techniques is the key to further progress in automatic analysis and constant-propagation allows us to illustrate this point in a theoretical study.

After a general overview, the monograph consists of three essentially self-contained parts that can be read independently of each other. These parts study: a hierarchy of constants in sequential programs, inherent limits of flow analysis of parallel programs, and how to overcome these limits by abandoning a classic atomic execution assumption.

Author(s): Markus Müller-Olm (auth.)
Series: Lecture Notes in Computer Science 3800
Edition: 1
Publisher: Springer-Verlag Berlin Heidelberg
Year: 2006

Language: English
Pages: 177
Tags: Software Engineering; Logics and Meanings of Programs; Programming Languages, Compilers, Interpreters

Front Matter....Pages -
1. Introduction....Pages 1-11
2. A Hierarchy of Constants....Pages 13-29
3. Deciding Constants by Effective Weakest Preconditions....Pages 31-52
4. Limits of Parallel Flow Analysis....Pages 53-79
5. Parallel Flow Graphs....Pages 81-99
6. Non-atomic Execution....Pages 101-109
7. Dependence Traces....Pages 111-143
8. Detecting Copy Constants and Eliminating Faint Code....Pages 145-152
9. Complexity in the Non-atomic Scenario....Pages 153-160
10. Conclusion....Pages 161-164
A. A Primer on Constraint-Based Program Analysis....Pages 165-171
Back Matter....Pages -