Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1140335.1140366acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
Article

Poly-controlled partial evaluation

Published: 10 July 2006 Publication History

Abstract

Existing algorithms for on-line partial evaluation of logic programs, given an initial program and a description of run-time queries, deterministically produce a specialized program. In this work we propose a novel framework for partial evaluation of logic programs which is poly-controlled in that it can take into account repertoires of global control and local control rules instead of a single, predetermined combination. This approach is more flexible than existing ones since it allows assigning different global and local control rules to different call patterns, thus obtaining results that cannot be obtained using traditional partial evaluation. This modification transforms partial evaluation from a greedy algorithm into a search-based algorithm and, as a result, sets of candidate specialized programs can be achieved, instead of a single one. In order to make the algorithm fully automatic, it requires the use of self-tuning techniques which allow automatically measuring the quality of the different candidate specialized programs. Our approach is resource aware in that it uses fitness functions which consider multiple factors such as run-time and code size for the specialized programs. The framework has been implemented in the CiaoPP system, and tested on some benchmarks. The preliminary experimental results we present show that our proposal obtains better specializations than those achieved using traditional partial evaluation

References

[1]
E. Albert, G. Puebla, and J. Gallagher. Non-Leftmost Unfolding in Partial Evaluation of Logic Programs with Impure Predicates. In 14th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR'05), LNCS. Springer-Verlag, 2006.]]
[2]
M. Bruynooghe, D. De Schreye, and B. Martens. A General Criterion for Avoiding Infinite Unfolding during Partial Deduction. New Generation Computing, 1(11):47--79, 1992.]]
[3]
Stephen-John Craig and Michael Leuschel. Self-tuning resource aware specialisation for Prolog. In PPDP '05: Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming, pages 23--34, New York, NY, USA, 2005. ACM Press.]]
[4]
Saumya K. Debray. Resource-Bounded Partial Evaluation. In Proceedings of PEPM'97, the ACM Sigplan Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 179--192. ACM Press, 1997.]]
[5]
J.P. Gallagher. Tutorial on specialisation of logic programs. In Proceedings of PEPM'93, the ACM Sigplan Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 88--98. ACM Press, 1993.]]
[6]
Manuel V. Hermenegildo, Germán Puebla, Francisco Bueno, and Pedro López-García. Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and The Ciao System Preprocessor). Science of Computer Programming, 58(1--2):115--140, October 2005.]]
[7]
J. Lam and Kusalik A. A comparative analysis of partial deductors for pure prolog. Technical report, Department of Computational Science, University of Saskatchewan, Canada, May 1991. Revised April 1991.]]
[8]
M. Leuschel and M. Bruynooghe. Logic program specialisation through partial deduction: Control issues. Theory and Practice of Logic Programming, 2(4 & 5):461--515, July & September 2002.]]
[9]
Michael Leuschel. On the power of homeomorphic embedding for online termination. In Giorgio Levi, editor, Static Analysis. Proceedings of SAS'98, LNCS 1503, pages 230--245, Pisa, Italy, September 1998. Springer-Verlag.]]
[10]
Michael Leuschel, Bern Martens, and Danny De Schreye. Controlling generalisation and polyvariance in partial deduction of normal logic programs. ACM Transactions on Programming Languages and Systems, 20(1):208--258, January 1998.]]
[11]
J. W. Lloyd and J. C. Shepherdson. Partial evaluation in logic programming. The Journal of Logic Programming, 11:217--242, 1991.]]
[12]
J.W. Lloyd. Foundations of Logic Programming. Springer, second, extended edition, 1987.]]
[13]
B. Martens and D. De Schreye. Automatic finite unfolding using well-founded measures. Journal of Logic Programming, 28(2):89--146, 1996. To Appear, abridged and revised version of Technical Report CW180, Departement Computerwetenschappen, K.U.Leuven, October 1993.]]
[14]
G. Puebla, E. Albert, and M. Hermenegildo. Efficient Local Unfolding with Ancestor Stacks for Full Prolog. In 14th International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR'04), number 3573 in LNCS, pages 149--165. Springer-Verlag, 2005.]]
[15]
M.H. Sørensen and R. Glück. An Algorithm of Generalization in Positive Supercompilation. In Proc. of ILPS'95, pages 465--479. The MIT Press, 1995.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPDP '06: Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
July 2006
280 pages
ISBN:1595933883
DOI:10.1145/1140335
  • General Chair:
  • Annalisa Bossi,
  • Program Chair:
  • Michael Maher
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 July 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. control rules
  2. optimization
  3. partial evaluation

Qualifiers

  • Article

Conference

PPDP06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2018)Closed-Form Upper Bounds in Static Cost AnalysisJournal of Automated Reasoning10.1007/s10817-010-9174-146:2(161-203)Online publication date: 28-Dec-2018
  • (2008)Oracle-Based Partial EvaluationElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2008.11.024220:3(145-161)Online publication date: 1-Dec-2008
  • (2007)Poly-controlled partial evaluation in practiceProceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/1244381.1244407(164-173)Online publication date: 15-Jan-2007
  • (2007)A Study on the Practicality of Poly-Controlled Partial EvaluationElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2007.01.008177(137-151)Online publication date: 1-Jun-2007
  • (2007)User-Definable Resource Bounds Analysis for Logic ProgramsLogic Programming10.1007/978-3-540-74610-2_24(348-363)Online publication date: 2007

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media