×

zbMATH — the first resource for mathematics

Supervising offline partial evaluation of logic programs using online techniques. (English) Zbl 1196.68033
Puebla, Germán (ed.), Logic-based program synthesis and transformation. 16th international symposium, LOPSTR 2006, Venice, Italy, July 12–14, 2006. Revised selected papers. Berlin: Springer (ISBN 978-3-540-71409-5/pbk). Lecture Notes in Computer Science 4407, 43-59 (2007).
Summary: A major impediment for more widespread use of offline partial evaluation is the difficulty of obtaining and maintaining annotations for larger, realistic programs. Existing automatic binding-time analyses still only have limited applicability and annotations often have to be created or improved and maintained by hand, leading to errors. We present a technique to help overcome this problem by using online control techniques which supervise the specialisation process in order to detect such errors. We discuss an implementation in the logen system and show on a series of examples that this approach is effective: very few false alarms were raised while infinite loops were detected quickly. We also present the integration of this technique into a web interface, which highlights problematic annotations directly in the source code. A method to automatically fix incorrect annotations is presented, allowing the approach to be also used as a pragmatic binding time analysis. Finally we show how our method can be used for efficiently locating errors with built-ins inside Prolog source code.
For the entire collection see [Zbl 1116.68007].

MSC:
68N17 Logic programming
Software:
DPPD; ECCE; LOGEN; Mercury
PDF BibTeX XML Cite
Full Text: DOI