Leuschel, Michael, Craig, Stephen-John and Elphick, Dan,
Supervising Offline Partial Evaluation of Logic Programs using Online Techniques
Puebla, German (ed.)
At Logic-Based Program Synthesis and Transformation.
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.
Conference or Workshop Item
||Event Dates: July 2006
|Venue - Dates:
||Logic-Based Program Synthesis and Transformation, 2006-07-01
||Partial Evaluation, Logic Programming, Termination
||Electronics & Computer Science
||30 May 2006
||17 Apr 2017 21:39
|Further Information:||Google Scholar|
Actions (login required)