Tailored Termination for Optimal Supercompilation

Ammar Askar and Benjamin Delaware

abstract

Supercompilation is a simple, powerful program specialization technique, but it can face issues with tractability and code bloat. In this paper, we examine how the choice of the termination criteria, one of the key components of the supercompilation algorithm, can effect the performance of supercompiled programs. We have conducted an empirical study of the effect of selecting a termination criteria which is optimal with respect to the program being specialized. We observe that such a tailored criteria can yield significant improvements over a one-size-fits-all criteria, with no potential for performance degradation. While our study focuses on user-supplied termination criteria, we theorize how this tailoring process might be automated.