2021-03-262001-01-0115710661SCOPUS;2-s2.0-18944403041http://hdl.handle.net/10784/27405We 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 specification 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 effective methodology which is based on abstract interpretation. By approximating the intended specification of the success set we derive a finitely 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 specific example of approximation. We provide an implementation of our debugging system which shows experimentally on a wide set of benchmarks that we are able to find some common errors in the user programs. © 2001 Published by Elsevier Science B. V.enghttps://v2.sherpa.ac.uk/id/publication/issn/1571-0661Declarative debugging of functional logic programsinfo:eu-repo/semantics/conferencePaperApproximation theoryData reductionIntegrationKnowledge based systemsMathematical modelsProgram debuggingSemanticsAssertion based methodsDeclarative debuggingFunctional logic languagesRewriting systemsLogic programming2021-03-26Alpuente, M.Correa, F.J.Falaschi, M.10.1016/S1571-0661(04)00266-X