Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Software—Practice & Experience
Partial evaluation in logic programming
Journal of Logic Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Resource-bounded partial evaluation
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Controlling generalization and polyvariance in partial deduction of normal logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Self-tuning resource aware specialisation for prolog
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Poly-controlled partial evaluation
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Logic program specialisation through partial deduction: Control issues
Theory and Practice of Logic Programming
Non-leftmost unfolding in partial evaluation of logic programs with impure predicates
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
Efficient local unfolding with ancestor stacks for full prolog
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Oracle-Based Partial Evaluation
Electronic Notes in Theoretical Computer Science (ENTCS)
Trace Analysis for Predicting the Effectiveness of Partial Evaluation
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Hi-index | 0.00 |
Poly-Controlled Partial Evaluation (PCPE) is a powerful approach to partial evaluation, which has recently been proposed. PCPE takes into account sets of control strategies instead of a single one. Thus, different control strategies can be assigned to different call patterns, possibly obtaining results that cannot be obtained using a single control strategy. PCPE can be implemented as a search-based algorithm, producing sets of candidate optimized programs. The quality of each of these programs is assessed through the use of a fitness function, which can be resource aware, in the sense that it can take multiple factors into account, such as run-time and code size. Unfortunately, PCPE suffers from an inherent blowup of its search space when implemented as an all-solutions, search-based algorithm. Thus, in order to use it in practice we must be able to prune its search space without losing the (most) interesting solutions. In this work we explore several techniques for pruning the search space of PCPE. Some of these techniques are based on heuristics, while others are based on branch and bound and are guaranteed to obtain an optimal solution. Our experimental results show that, when combined with the proposed pruning techniques, PCPE can cope with realistic programs. Also, that the solutions obtained by PCPE outperform the solutions found by PE under similar conditions.