Program specialization is a program transformation methodology which improves program efficiency by exploiting the information about the input data which are available at compile time. We show that current techniques for program specialization based on partial evaluation do not perform well on nondeterministic logic programs. We then consider a set of transformation rules which extend the ones used for partial evaluation, and we propose a strategy for guiding the application of these extended rules so to derive very efficient specialized programs. The efficiency improvements which sometimes are exponential, are due to the reduction of nondeterminism and to the fact that the computations which are performed by the initial programs in different branches of the computation trees, are performed by the specialized programs within single branches. In order to reduce nondeterminism we also make use of mode information for guiding the unfolding process. To exemplify our technique, we show that we can automatically derive very efficient matching programs and parsers for regular languages. The derivations we have performed could not have been done by previously known partial evaluation techniques. Â© 2005 Springer Science + Business Media, Inc.
Pettorossi, A., Proietti, M., & Renault (2005). Derivation of efficient logic programs by specialization and reduction of nondeterminism. HIGHER-ORDER AND SYMBOLIC COMPUTATION, 18(1-2), 121-210.
|Tipologia:||Articolo su rivista|
|Citazione:||Pettorossi, A., Proietti, M., & Renault (2005). Derivation of efficient logic programs by specialization and reduction of nondeterminism. HIGHER-ORDER AND SYMBOLIC COMPUTATION, 18(1-2), 121-210.|
|Settore Scientifico Disciplinare:||Settore ING-INF/05 - Sistemi di Elaborazione delle Informazioni|
|Revisione (peer review):||Sì, ma tipo non specificato|
|Digital Object Identifier (DOI):||http://dx.doi.org/10.1007/s10990-005-7008-3|
|Stato di pubblicazione:||Pubblicato|
|Data di pubblicazione:||2005|
|Titolo:||Derivation of efficient logic programs by specialization and reduction of nondeterminism|
|Autori:||Pettorossi, A; Proietti, M; Renault|
|Appare nelle tipologie:||01 - Articolo su rivista|