Model Checking as a Tool Used by Parallelizing Compilers

Loading...
Thumbnail Image

Persistent link to this item

Statistics
View Statistics

Journal Title

Journal ISSN

Volume Title

Title

Model Checking as a Tool Used by Parallelizing Compilers

Alternative title

Published Date

1997

Publisher

Type

Report

Abstract

In this paper we describe the usage of temporal logic and model checking in a parallelizing compiler to analyze the structure of a source program and locate opportunities for optimization and parallelization. The source program is represented as a {em process graph} in which the nodes are sequential processes and the edges are control and data dependence relationships between the computations at the nodes. By labeling the nodes and edges with descriptive atomic propositions and by specifying the conditions necessary for optimizations and parallelizations as temporal logic formulas, we can use a model checker to locate nodes of the process graph where particular optimizations can be made. To discover opportunities for new optimizations or modify existing ones in this parallelizing compiler, we need only specify their conditions as temporal logic formulas. We do not need to add or modify the code of the compiler. This greatly simplifies the process of locating optimization and parallelization opportunities in the source program and makes it easier to experiment with complex optimizations. Hence, this methodology provides a convenient, concise, and formal framework to carry out program optimizations by compilers.

Keywords

Description

Associated research group: Minnesota Extensible Language Tools

Related to

Replaces

License

Series/Report Number

Funding information

Isbn identifier

Doi identifier

Previously Published Citation

In Proc. of the 2nd Formal Methods for Parallel Processing: Theory and Applications workshop held at the 11th International Parallel Processing Symposium in Geneva Switzerland, April 1-5, 1997.

Other identifiers

Suggested citation

Rus, Teodor; Van Wyk, Eric. (1997). Model Checking as a Tool Used by Parallelizing Compilers. Retrieved from the University Digital Conservancy, https://hdl.handle.net/11299/217299.

Content distributed via the University Digital Conservancy may be subject to additional license and use restrictions applied by the depositor. By using these files, users agree to the Terms of Use. Materials in the UDC may contain content that is disturbing and/or harmful. For more information, please see our statement on harmful content in digital repositories.