Supervising Offline Partial Evaluation of Logic Programs using Online Techniques


Leuschel, Michael, Craig, Stephen-John and Elphick, Dan, (2006) Supervising Offline Partial Evaluation of Logic Programs using Online Techniques Puebla, German (ed.) At Logic-Based Program Synthesis and Transformation. , pp. 43-59.

Download

[img] PDF watch_lopstr06_final.pdf - Other
Download (269kB)

Description/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.

Item Type: Conference or Workshop Item (Paper)
Additional Information: Event Dates: July 2006
Venue - Dates: Logic-Based Program Synthesis and Transformation, 2006-07-01
Keywords: Partial Evaluation, Logic Programming, Termination
Organisations: Electronics & Computer Science
ePrint ID: 262651
Date :
Date Event
2006Published
Date Deposited: 30 May 2006
Last Modified: 17 Apr 2017 21:39
Further Information:Google Scholar
URI: http://eprints.soton.ac.uk/id/eprint/262651

Actions (login required)

View Item View Item