ACM Home Page
Please provide us with feedback. Feedback
Automated soundness proofs for dataflow analyses and transformations via local rules
Full text PdfPdf (262 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Long Beach, California, USA
Pages: 364 - 377  
Year of Publication: 2005
ISBN:1-58113-830-X
Also published in ...
Authors
Sorin Lerner  University of Washington
Todd Millstein  UCLA
Erika Rice  University of Washington
Craig Chambers  University of Washington
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 61,   Citation Count: 18
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1040305.1040335
What is a DOI?

ABSTRACT

We present Rhodium, a new language for writing compiler optimizations that can be automatically proved sound. Unlike our previous work on Cobalt, Rhodium expresses optimizations using explicit dataflow facts manipulated by local propagation and transformation rules. This new style allows Rhodium optimizations to be mutually recursively defined, to be automatically composed, to be interpreted in both flow-sensitive and -insensitive ways, and to be applied interprocedurally given a separate context-sensitivity strategy, all while retaining soundness. Rhodium also supports infinite analysis domains while guaranteeing termination of analysis. We have implemented a soundness checker for Rhodium and have specified and automatically proven the soundness of all of Cobalt's optimizations plus a variety of optimizations not expressible in Cobalt, including Andersen's points-to analysis, arithmetic-invariant detection, loop-induction-variable strength reduction, and redundant array load elimination.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Kamal Aboul-Hosn and Dexter Kozen. KAT-ML: An interactive theorem prover for kleene algebra with tests. In Proceedings of the 4th International Workshop on the Implementation of Logics (WIL'03), University of Manchester, September 2003.
 
2
 
3
L. O. Andersen. Program Analysis and Specialization for the C Programming Languge. PhD thesis, DIKU, University of Copenhagen, May 1994 (available as DIKU technical report 94-19).
4
5
 
6
David Cachera, Thomas Jensen, David Pichardie, and Vlad Rusu. Extracting a data flow analyser in constructive logic. In Proceedings of the 13th European Symposium on Programming (ESOP 2004), volume 2986 of Lecture Notes in Computer Science. Springer-Verlag, 2004.
 
7
Craig Chambers, Jeffrey Dean, and David Grove. Frameworks for intra- and interprocedural dataflow analysis. Technical Report UW-CSE-96-11-02, University of Washington, November 1996.
8
9
10
11
12
13
 
14
 
15
M. Kauffmann and R.S. Boyer. The Boyer-Moore theorem prover and its interactive enhancement. Computers and Mathematics with Applications, 29(2):27--62, 1995.
16
17
18
19
 
20
Sorin Lerner, Todd Millstein, Erika Rice, and Craig Chambers. Automated soundness proofs for dataflow analyses and transformations via local rules. Technical Report UW-CSE-2004-07-04, University of Washington, July 2004.
 
21
Greg Morrisett, Karl Crary, Neal Glew, Dan Grossman, Richard Samuels, Frederick Smith, David Walker, Stephanie Weirich, and Steve Zdancewic. TALx86: A realistic typed assembly language. In 1999 ACM SIGPLAN Workshop on Compiler Support for System Software, pages 25--35, Atlanta GA, May 1999.
22
23
24
 
25
 
26
Martin Rinard and Darko Marinov. Credible compilation. In Proceedings of the FLoC Workshop Run-Time Result Verification, July 1999.
 
27
Micha Sharir and Amir Pnueli. Two approaches to interprocedural data flow analysis. In Steven~S. Muchnick and Neil~D. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 7, pages 189--233. Prentice-hall, 1981.
28
29
 
30
31
32
 
33
34
35
36
 
37

CITED BY  18

Collaborative Colleagues:
Sorin Lerner: colleagues
Todd Millstein: colleagues
Erika Rice: colleagues
Craig Chambers: colleagues