Supervising Offline Partial Evaluation of Logic Programs using Online Techniques
Supervising Offline Partial Evaluation of Logic Programs using Online Techniques
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 help the development and maintenance of correct annotations by identifying 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 built-in errors in Prolog source code.
Partial Evaluation, Logic Programming, Termination
43-59
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Craig, Stephen-John
70e3474a-2043-482f-9e1c-27f68e9aba16
Elphick, Dan
0a54ad17-9ae6-416c-be7f-62a1329222d0
Puebla, German
7a19887b-bc5a-43cf-8f5e-14043abe3fa8
2006
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Craig, Stephen-John
70e3474a-2043-482f-9e1c-27f68e9aba16
Elphick, Dan
0a54ad17-9ae6-416c-be7f-62a1329222d0
Puebla, German
7a19887b-bc5a-43cf-8f5e-14043abe3fa8
Leuschel, Michael, Craig, Stephen-John and Elphick, Dan
(2006)
Supervising Offline Partial Evaluation of Logic Programs using Online Techniques.
Puebla, German
(ed.)
Logic-Based Program Synthesis and Transformation, Venice.
.
Record type:
Conference or Workshop Item
(Paper)
Abstract
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 help the development and maintenance of correct annotations by identifying 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 built-in errors in Prolog source code.
Text
watch_lopstr06_final.pdf
- Other
More information
Published date: 2006
Additional Information:
Event Dates: July 2006
Venue - Dates:
Logic-Based Program Synthesis and Transformation, Venice, 2006-07-01
Keywords:
Partial Evaluation, Logic Programming, Termination
Organisations:
Electronics & Computer Science
Identifiers
Local EPrints ID: 262651
URI: http://eprints.soton.ac.uk/id/eprint/262651
PURE UUID: 899c6984-fb39-44cb-b7f6-6a567ce34200
Catalogue record
Date deposited: 30 May 2006
Last modified: 14 Mar 2024 07:15
Export record
Contributors
Author:
Michael Leuschel
Author:
Stephen-John Craig
Author:
Dan Elphick
Editor:
German Puebla
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics