Removing superfluous versions in polyvariant specialization of prolog programs.

Ochoa, Claudio; Puebla Sánchez, Alvaro Germán y Hermenegildo, Manuel V. (2006). Removing superfluous versions in polyvariant specialization of prolog programs.. En: "15th International Symposium, LOPSTR 2005", September 7-9, 2005, London, UK. ISBN 978-3-540-32654-0.


Título: Removing superfluous versions in polyvariant specialization of prolog programs.
  • Ochoa, Claudio
  • Puebla Sánchez, Alvaro Germán
  • Hermenegildo, Manuel V.
Tipo de Documento: Ponencia en Congreso o Jornada (Artículo)
Título del Evento: 15th International Symposium, LOPSTR 2005
Fechas del Evento: September 7-9, 2005
Lugar del Evento: London, UK
Título del Libro: Logic-Based Program Synthesis and Transformation
Fecha: 2006
ISBN: 978-3-540-32654-0
Volumen: 3901
Escuela: Facultad de Informática (UPM) [antigua denominación]
Departamento: Inteligencia Artificial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB) | Vista Previa


Polyvariant specialization allows generating múltiple versions of a procedure, which can then be separately optimized for different uses. Since allowing a high degree of polyvariance often results in more optimized code, polyvariant specializers, such as most partial evaluators, can genérate a large number of versions. This can produce unnecessarily large residual programs. Also, large programs can be slower due to cache miss effects. A possible solution to this problem is to introduce a minimization step which identifies sets of equivalent versions, and replace all occurrences of such versions by a single one. In this work we present a unifying view of the problem of superfluous polyvariance. It includes both partial deduction and abstract múltiple specialization. As regards partial deduction, we extend existing approaches in several ways. First, previous work has dealt with puré logic programs and a very limited class of builtins. Herein we propose an extensión to traditional characteristic trees which can be used in the presence of calis to external predicates. This includes all builtins, librarles, other user modules, etc. Second, we propose the possibility of collapsing versions which are not strictly equivalent. This allows trading time for space and can be useful in the context of embedded and pervasive systems. This is done by residualizing certain computations for external predicates which would otherwise be performed at specialization time. Third, we provide an experimental evaluation of the potential gains achievable using minimization which leads to interesting conclusions.

Más información

ID de Registro: 14354
Identificador DC:
Identificador OAI:
URL Oficial:
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 25 Ene 2013 09:09
Ultima Modificación: 21 Abr 2016 13:59
  • GEO_UP4
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • InvestigaM
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM