Person:
Caballero Roldán, Rafael

Loading...
Profile Picture
First Name
Rafael
Last Name
Caballero Roldán
Affiliation
Universidad Complutense de Madrid
Faculty / Institute
Informática
Department
Sistemas Informáticos y Computación
Area
Lenguajes y Sistemas Informáticos
Identifiers
UCM identifierORCIDScopus Author IDDialnet IDGoogle Scholar ID

Search Results

Now showing 1 - 1 of 1
  • Item
    Declarative debugging
    (2011) Caballero Roldán, Rafael
    Declarative debugging is a debugging technique that abstracts the execution details to focus on the semantic meaning of the program components. It was frst proposed in the feld of Logic Programming, but its general structure has been later extended to other programming paradigms, becoming an active area of research. The technique relies on a data structure, the computation tree, that represents some computation producing an unexpected result. This tree is traversed by asking questions to the user about the correction of the intermediate computation steps until the source of the bug has been found. We show how instances of this general technique can be defned for diferent programming paradigms simply adapting the defnition of computation tree. In particular we present the instances that have been developed by the Declarative Programming Group at the University Complutense of Madrid, which include functional-logic languages (Toy and Curry), object oriented languages (Java), deductive databases (Datalog) and SQL views. Bachelor's degree in Computer Science by the Universidad Politécnica de Madrid and Ph.D in Mathematics by the Universidad Complutense de Madrid. Currently Lecturer (Prof. Contratado Doctor) in the Computer Science Department at the Faculty of Computer Science. Research areas of interest: functional-logic programming, declarative and algorithmic debugging, qualifed declarative programming and in general declarative languages including uncertainty, SQL debugging and test-case generation, embedding of XML query languages in declarative languages, program transformation techniques for declarative languages.