Dissertations in Logic Programming


An Open Invitation:
The column on dissertations in Logic Programming is aimed at widely publicizing recent dissertations (and even MS Theses) deadling with topics relevant to Logic Programming. This is an outstanding opportunity to
  • Shine a spotlight on the new generation of logic programmers
  • Demonstrate that the field of logic programming is alive with new "blood" 
  • Provide to our graduating students with an additional opportunity to get themselves known to the logic programming community at large
  • Perhaps facilitate the creation of contacts with potential employers
Please, if you are a student who is about to complete a Thesis or Dissertation in logic programming, if you are a faculty member who is advising a student completing a Thesis in logic programming, if you have a friend/colleague/relative/... who meets such requirements, please send me a message and help me advertising these fantastic achievements.

    Enrico
  

Back to top


Debugging Techniques for Declarative Languages: Profiling, Program Slicing, and Algorithmic Debugging

Josep Silva
Technical University of Valencia
http://www.dsic.upv.es/~jsilva

The task of debugging can be arduous. A bug can be evident with a single glance, or it can be hidden in the deepest lurking place of our program. Nevertheless, surprisingly, debugging is one of the software processes that has been mostly abandoned by the scientific community, and the same debugging techniques used twenty years ago are still being used today.
 
The situation is not different regarding declarative languages. Or it is indeed worst; because declarative languages can pose additional difficulties due, for instance, to the lazy evaluation mechanism.
 
In this thesis, we revise the current debugging methods for declarative languages and we develop some new methods and techniques which are based on profiling, program slicing, and algorithmic debugging. In short, the main contributions of the thesis are:
  • The definition of a profiling scheme for functional logic programs which is based on the use of cost centers and that allows us to measure different kinds of symbolic costs.
  • The formulation of a new dynamic slicing technique based on redex trails, its application to debugging and its adaptation for the specialization of modern multi-paradigm declarative programs.
  • The introduction of a new algorithmic debugging scheme which combines conventional algorithmic debugging with program slicing.
  • The definition of three new strategies for algorithmic debugging.
  • The development of a comparative study and a subsequent classification of program slicing techniques and algorithmic debugging strategies.





Last updated: 12/23/07.