A technique for dynamic term size computation via program transformation


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

01/03/1994

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, granularity analysis and selection among different algorithms or control rules whose performance may be dependent on such size. 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 applications of our technique and present some performance results.

Formato

application/pdf

Identificador

http://oa.upm.es/15212/

Idioma(s)

eng

Publicador

Facultad de Informática (UPM)

Relação

http://oa.upm.es/15212/1/HERME_TCREP_ANDMANS_1994-4.pdf

ftp://clip.dia.fi.upm.es/pub/papers/DIRECTORY.html~

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