Matches in SemOpenAlex for { <https://semopenalex.org/work/W69399> ?p ?o ?g. }
- W69399 abstract "In this dissertation, I describe a technique for automatically proving compiler optimizations sound, meaning that their transformations are always semantics-preserving. I first present a domain-specific language, called Rhodium, for implementing optimizations using local propagation and transformation rules that manipulate explicit dataflow facts. Then I describe a technique for automatically proving the soundness of Rhodium optimizations. The technique requires an automatic theorem prover to discharge a simple proof obligation for each propagation and transformation rule. I have written a variety of forward and backward intraprocedural dataflow optimizations in Rhodium, including constant propagation and folding, branch folding, full and partial redundancy elimination, full and partial dead assignment elimination, an intraprocedural version of Andersen's points-to analysis, arithmetic-invariant detection, loop-induction-variable strength reduction, and redundant array load elimination. I implemented Rhodium's soundness-checking strategy using the Simplify theorem prover, and I have used this implementation to automatically prove that the Rhodium optimizations I wrote were sound. I implemented a prototype execution engine for Rhodium, so that Rhodium optimizations can be directly executed. I also developed a way of interpreting Rhodium optimizations in both flow-sensitive and -insensitive ways, and of applying them interprocedurally given a separate context-sensitivity strategy, all while retaining soundness." @default.
- W69399 created "2016-06-24" @default.
- W69399 creator A5043665959 @default.
- W69399 creator A5070604627 @default.
- W69399 date "2006-01-01" @default.
- W69399 modified "2023-09-26" @default.
- W69399 title "Automatically proving the correctness of program analyses and transformations" @default.
- W69399 cites W127506714 @default.
- W69399 cites W1490156001 @default.
- W69399 cites W1491178396 @default.
- W69399 cites W1509875415 @default.
- W69399 cites W1510333080 @default.
- W69399 cites W1512075079 @default.
- W69399 cites W1515278398 @default.
- W69399 cites W1520007244 @default.
- W69399 cites W1528503275 @default.
- W69399 cites W1531082202 @default.
- W69399 cites W1533109738 @default.
- W69399 cites W1535757506 @default.
- W69399 cites W1538046926 @default.
- W69399 cites W1541711253 @default.
- W69399 cites W1553894716 @default.
- W69399 cites W1565996669 @default.
- W69399 cites W1569569047 @default.
- W69399 cites W1581635138 @default.
- W69399 cites W1586167239 @default.
- W69399 cites W1590472748 @default.
- W69399 cites W1590828018 @default.
- W69399 cites W1593280365 @default.
- W69399 cites W1596995840 @default.
- W69399 cites W1597068544 @default.
- W69399 cites W1598074860 @default.
- W69399 cites W1605034451 @default.
- W69399 cites W1607605746 @default.
- W69399 cites W1727609483 @default.
- W69399 cites W1804899404 @default.
- W69399 cites W1807555267 @default.
- W69399 cites W1964071625 @default.
- W69399 cites W1967031800 @default.
- W69399 cites W1968386045 @default.
- W69399 cites W1975914482 @default.
- W69399 cites W1976575875 @default.
- W69399 cites W1977285665 @default.
- W69399 cites W1991837261 @default.
- W69399 cites W1992371661 @default.
- W69399 cites W1992810975 @default.
- W69399 cites W1993836075 @default.
- W69399 cites W1994180237 @default.
- W69399 cites W1994660988 @default.
- W69399 cites W1998368317 @default.
- W69399 cites W2000178662 @default.
- W69399 cites W2003848320 @default.
- W69399 cites W2004419599 @default.
- W69399 cites W2005985523 @default.
- W69399 cites W2007146206 @default.
- W69399 cites W2008609084 @default.
- W69399 cites W2014764321 @default.
- W69399 cites W2030224590 @default.
- W69399 cites W2030670832 @default.
- W69399 cites W2034711041 @default.
- W69399 cites W2040856861 @default.
- W69399 cites W2043100293 @default.
- W69399 cites W2045437741 @default.
- W69399 cites W2051632385 @default.
- W69399 cites W2054068074 @default.
- W69399 cites W2055477538 @default.
- W69399 cites W2057455870 @default.
- W69399 cites W2058926819 @default.
- W69399 cites W206525646 @default.
- W69399 cites W2065635796 @default.
- W69399 cites W2069107692 @default.
- W69399 cites W2069718764 @default.
- W69399 cites W2070587922 @default.
- W69399 cites W2082167089 @default.
- W69399 cites W2088056808 @default.
- W69399 cites W2088126145 @default.
- W69399 cites W2098293014 @default.
- W69399 cites W2100738443 @default.
- W69399 cites W2114067856 @default.
- W69399 cites W2117189826 @default.
- W69399 cites W2117426803 @default.
- W69399 cites W2118937112 @default.
- W69399 cites W2122107008 @default.
- W69399 cites W2125346056 @default.
- W69399 cites W2128057448 @default.
- W69399 cites W2136285318 @default.
- W69399 cites W2144344516 @default.
- W69399 cites W2149237601 @default.
- W69399 cites W2149996206 @default.
- W69399 cites W2150871888 @default.
- W69399 cites W2153131284 @default.
- W69399 cites W2158600037 @default.
- W69399 cites W2162284942 @default.
- W69399 cites W2162310026 @default.
- W69399 cites W2162621793 @default.
- W69399 cites W2164778826 @default.
- W69399 cites W2168822998 @default.
- W69399 cites W2170145744 @default.
- W69399 cites W2171691057 @default.
- W69399 cites W2336259629 @default.