dc.contributorUniversidad EAFIT. Departamento de Ciencias
dc.contributorLógica y Computación
dc.creatorAlpuente, M.
dc.creatorBallis, D.
dc.creatorCorrea, F.
dc.creatorFalaschi, M.
dc.creatorAlpuente, M.
dc.creatorBallis, D.
dc.creatorCorrea, F.
dc.creatorFalaschi, M.
dc.date.accessioned2021-03-26T21:32:04Z
dc.date.accessioned2022-09-23T20:29:47Z
dc.date.available2021-03-26T21:32:04Z
dc.date.available2022-09-23T20:29:47Z
dc.date.created2021-03-26T21:32:04Z
dc.date.issued2010-10-29
dc.identifier03043975
dc.identifier18792294
dc.identifierWOS;000283695700002
dc.identifierSCOPUS;2-s2.0-77957819191
dc.identifierhttp://hdl.handle.net/10784/27338
dc.identifier10.1016/j.tcs.2010.07.009
dc.identifier.urihttp://repositorioslatinoamericanos.uchile.cl/handle/2250/3515121
dc.description.abstractWe present a generic scheme for the declarative debugging of programs that are written in rewriting-based languages that are equipped with narrowing. Our aim is to provide an integrated development environment in which it is possible to debug a program and then correct it automatically. Our methodology is based on the combination (in a single framework) of a semantics-based diagnoser that identifies those parts of the code that contain errors and an inductive learner that tries to repair them, once the bugs have been located in the program. We develop our methodology in several steps. First, we associate with our programs a semantics that is based on a (continuous) immediate consequence operator, TR, which models the answers computed by narrowing and is parametric w.r.t. the evaluation strategy, which can be eager or lazy. Then, we show that, given the intended specification of a program R, it is possible to check the correctness of R by a single step of TR. In order to develop an effective debugging method, we approximate the computed answers semantics of R and derive a finitely terminating bottom-up abstract diagnosis method, which can be used statically. Finally, a bug-correction program synthesis methodology attempts to correct the erroneous components of the wrong code. We propose a hybrid, top-down (unfolding-based) as well as bottom-up (induction-based), correction approach that is driven by a set of evidence examples which are automatically produced as an outcome by the diagnoser. The resulting program is proven to be correct and complete w.r.t. the considered example sets. Our debugging framework does not require the user to provide error symptoms in advance or to answer difficult questions concerning program correctness. An implementation of our debugging system has been undertaken which demonstrates the workability of our approach. © 2010 Elsevier B.V. All rights reserved.
dc.publisherELSEVIER SCIENCE BV
dc.relationhttps://www.scopus.com/inward/record.uri?eid=2-s2.0-77957819191&doi=10.1016%2fj.tcs.2010.07.009&partnerID=40&md5=e9d61f5c82a2bbc84bdb7c41e12fe092
dc.rightshttps://v2.sherpa.ac.uk/id/publication/issn/0304-3975
dc.sourceTHEORETICAL COMPUTER SCIENCE
dc.subjectDebugging
dc.subjectDebugging methods
dc.subjectDebugging systems
dc.subjectDeclarative debugging
dc.subjectDiagnosis methods
dc.subjectEvaluation strategies
dc.subjectFunctional logic programming
dc.subjectIntegrated development environment
dc.subjectIntegrated frameworks
dc.subjectNarrowing
dc.subjectProgram correctness
dc.subjectProgram synthesis
dc.subjectProgram transformations
dc.subjectRule based
dc.subjectSingle-step
dc.subjectTopdown
dc.subjectFunctional programming
dc.subjectLogic programming
dc.subjectProgram debugging
dc.subjectWeb services
dc.subjectProgram diagnostics
dc.titleAn integrated framework for the diagnosis and correction of rule-based programs
dc.typearticle
dc.typeinfo:eu-repo/semantics/article
dc.typeinfo:eu-repo/semantics/publishedVersion
dc.typepublishedVersion


Este ítem pertenece a la siguiente institución