Automatic Parallelization of Side-Effecting Higher-Order Scheme Programs
The multi-core revolution heralds a challenging era for software maintainers. Manually parallelizing large sequential code bases is often infeasible. In this paper, the authors present a program transformation that automatically parallelizes real-life Scheme programs. The transformation has to be instantiated with an inter-procedural dependence analysis that exposes parallelization opportunities in a sequential program. To this end, they extended a state-of-the art analysis that copes with higher-order procedures and side-effects. Their parallelizing transformation exploits all opportunities for parallelization that are exposed by the dependence analysis.