Model Checking as a Tool Used by Parallelizing Compilers
Loading...
View/Download File
Persistent link to this item
Statistics
View StatisticsJournal Title
Journal ISSN
Volume Title
Title
Model Checking as a Tool Used by Parallelizing Compilers
Alternative title
Authors
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.