Polyvariant Program Specialisation with Property-based Abstraction
John P. Gallagher (Roskilde University, IMDEA Software Institute)

TL;DR
This paper demonstrates that property-based abstraction, a technique from software model checking, effectively controls polyvariance in program specialisation, balancing code size and efficiency improvements.
Contribution
It introduces the use of property-based abstraction to manage polyvariance in online program specialisation, enhancing flexibility and control.
Findings
Property-based abstraction enables finite and manageable specialisation.
The approach improves control flow refinement and verification.
It balances code size with specialization benefits.
Abstract
In this paper we show that property-based abstraction, an established technique originating in software model checking, is a flexible method of controlling polyvariance in program specialisation in a standard online specialisation algorithm. Specialisation is a program transformation that transforms a program with respect to given constraints that restrict its behaviour. Polyvariant specialisation refers to the generation of two or more specialised versions of the same program code. The same program point can be reached more than once during a computation, with different constraints applying in each case, and polyvariant specialisation allows different specialisations to be realised. A property-based abstraction uses a finite set of properties to define a finite set of abstract versions of predicates, ensuring that only a finite number of specialised versions is generated. The…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
