Abstract domains for reordering CLP (R-Lin) programs

Ramachandran, V;Van Hentenryck, P.;Cortesi, A
(2000) Journal of Logic Programming — Vol. 42, n° 3, p. 217-256 (2000)

Files

pdfdocument.pdf
  • Restricted Access
  • Adobe PDF
  • 610.98 KB

Details

Authors
  • Ramachandran, V
    Author
  • Van Hentenryck, P.
    Author
  • Cortesi, A
    Author
Abstract
In order to address the multi-directional nature of constraint logic programs, recent optimizing compilers generate several versions of a procedure and optimize them independently. Reordering, i.e., moving constraints towards the end of a clause, plays a fundamental role in this optimization: it may lead to significant improvements in performance by bypassing the constraint solver entirely. This paper focuses on CLP over linear real constraints, and studies two abstract domains, i.e., LSign and LInt, which can be used to decide at compile time when constraints can be safely reordered. The domain LSign was originally proposed by Marriott and Stuckey. Its fundamental ideas consist of abstracting coefficients by signs and of keeping multiplicity information on constraints. LInt is a new, and infinite, domain which is similar in nature to LSign, except that signs are replaced by intervals of rational numbers. A comprehensive description of the two domains is given, together with some very preliminary evidence showing that the domains are precise enough to perform the intended optimizations on small programs. (C) 2000 Elsevier Science Inc. All rights reserved.
Affiliations

Citations

Ramachandran, V., Van Hentenryck, P., & Cortesi, A. (2000). Abstract domains for reordering CLP (R-Lin) programs. Journal of Logic Programming, 42(3), 217-256. https://doi.org/10.1016/S0743-1066(99)00011-4 (Original work published 2000)