We present a general framework for the declarative debugging of functional logic programs, which is valid both for eager as well as lazy programs. We associate to our programs a semantics based on a (continuous) immediate consequence operator which models computed answers. Then we show that, given the intended specication of a program P , it is possible to check the correctness of P by a single step of the immediate consequence operator. We also present a more eective methodology which is based on abstract interpretation. By approximating the intended specication of the success set we derive a nitely terminating debugging method, which can be used statically. Our framework is parametric w.r.t. to the chosen approximation of the success set. We present one specic example of approximation which improves previous work. We also give discuss about how we plan to use inductive learning techniques in order to correct bugs. We provide an implementation of our debugging system which shows experimentally on a wide set of benchmarks that we are able to nd some common errors in the user programs.

M., A., F., C., & Falaschi, M. (2002). A Debugging Scheme for Functional Logic Programs. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 64, 18-55.

A Debugging Scheme for Functional Logic Programs

FALASCHI, MORENO
2002

Abstract

We present a general framework for the declarative debugging of functional logic programs, which is valid both for eager as well as lazy programs. We associate to our programs a semantics based on a (continuous) immediate consequence operator which models computed answers. Then we show that, given the intended specication of a program P , it is possible to check the correctness of P by a single step of the immediate consequence operator. We also present a more eective methodology which is based on abstract interpretation. By approximating the intended specication of the success set we derive a nitely terminating debugging method, which can be used statically. Our framework is parametric w.r.t. to the chosen approximation of the success set. We present one specic example of approximation which improves previous work. We also give discuss about how we plan to use inductive learning techniques in order to correct bugs. We provide an implementation of our debugging system which shows experimentally on a wide set of benchmarks that we are able to nd some common errors in the user programs.
M., A., F., C., & Falaschi, M. (2002). A Debugging Scheme for Functional Logic Programs. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 64, 18-55.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: http://hdl.handle.net/11365/38228
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo