2020/08/07 by John P. Gallagher, Robert Glück
Computer Science · #cs.PL #cs.LO #cs.SC
paper · pdf · doi:10.4204/eptcs.320.11
published as EPTCS 320, 2020, pp. 155-158 · In Proceedings VPT/HCVS 2020, arXiv:2008.02483
arxiv created 2020/08/07 · arxiv updated 2020/08/10
It was previously shown that control-flow refinement can be achieved by a program specializer incorporating property-based abstraction, to improve termination and complexity analysis tools. We now show that this purpose-built specializer can be reconstructed in a more modular way, and that the previous results can be achieved using an off-the-shelf partial evaluation tool, applied to an abstract interpreter. The key feature of the abstract interpreter is the abstract domain, which is the product of the property-based abstract domain with the concrete domain. This language-independent framework provides a practical approach to implementing a variety of powerful specializers, and contributes to a stream of research on using interpreters and specialization to achieve program transformations.