Publication | Closed Access
Automated soundness proofs for dataflow analyses and transformations via local rules
133
Citations
36
References
2005
Year
Unknown Venue
EngineeringCompiler TechnologyAutomated Soundness ProofsVerificationComputer-aided VerificationSoftware EngineeringRhodium OptimizationsSoftware AnalysisFormal VerificationPresent RhodiumDataflow AnalysesData ScienceSystems EngineeringFormal TechniqueCompilersParallel ComputingLocal RulesFormal SpecificationData FlowRuntime VerificationCompiler SupportComputer EngineeringComputer ScienceProgram OptimizationOptimizing CompilerProgram AnalysisAutomated ReasoningSoftware TestingCompiler OptimizationsFormal MethodsProgram SynthesisSpeech ProcessingParallel Programming
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1