Dynamic term size computation in logic programs via program transformation


Autoria(s): López García, Pedro; Hermenegildo, Manuel V.
Data(s)

01/04/1993

Resumo

Knowing the size of the terms to which program variables are bound at run-time in logic programs is required in a class of applications related to program optimization such as, for example, recursion elimination and granularity analysis. Such size is difficult to even approximate at compile time and is thus generally computed at run-time by using (possibly predefined) predicates which traverse the terms involved. We propose a technique based on program transformation which has the potential of performing this computation much more efficiently. The technique is based on finding program procedures which are called before those in which knowledge regarding term sizes is needed and which traverse the terms whose size is to be determined, and transforming such procedures so that they compute term sizes "on the fly". We present a systematic way of determining whether a given program can be transformed in order to compute a given term size at a given program point without additional term traversal. Also, if several such transformations are possible our approach allows finding minimal transformations under certain criteria. We also discuss the advantages and present some applications of our technique.

Formato

application/pdf

Identificador

http://oa.upm.es/15289/

Idioma(s)

eng

Publicador

Facultad de Informática (UPM)

Relação

http://oa.upm.es/15289/1/HERME_TCREP_ANDMANS_1993-4.pdf

ftp://clip.dia.fi.upm.es/pub/papers/PARFORCE

Direitos

http://creativecommons.org/licenses/by-nc-nd/3.0/es/

info:eu-repo/semantics/openAccess

Palavras-Chave #Informática
Tipo

info:eu-repo/semantics/other

Monográfico (Informes, Documentos de trabajo, etc)

PeerReviewed