Tabled resolution for general logic programs has been shown to be effective in declaratively solving complex applications, including program verification through model checking, and program analysis for optimizing compilers. Efficient implementations of the above applications have been built using the XSB tabled logic programming system, which perform at least as well as existing implementations consisting of much larger programs written in lower level languages. The project is aimed at improving the expressiveness, efficiency and ease of use of tabled logic programming systems. The main goals of this project are: (a) To study the interaction of constraint solving with tabled resolution, a combination that considerably increases the expressiveness of tabled logic programming systems. (b)To design techniques for optimizing tabled constraint logic programming systems by extending traditional factoring and indexing to constraints, and by selective tabling. (c) To construct tools for high-level debugging of tabled logic programs. Tabling and constraints have both separately introduced a new level of declarativeness to traditional logic programming systems. The combination of tabling and constraints enables encoding of problems that cannot be solved declaratively using either individual paradigm. Tabled constraint logic programming thus promises to be a significant step towards realizing the ideal of declarative programming.