Program specialization via a software verification tool
Paper i proceeding, 2011
Partial evaluation is a program specialization technique that allows to optimize a program for which partial input is known. We propose a new approach to generate specialized programs for a Java-like language via the software verification tool KeY. This is achieved by symbolically executing source programs interleaved with calls to a simple partial evaluator. In a second phase the specialized programs are synthesized from the symbolic execution tree. The correctness of this approach is guaranteed by a bisimulation relation on the source and specialized programs.