This project addresses several related issues in the static analysis and optimization of logic programming languages. First, semantic issues underlying the optimization of such languages are being studied. This work includes the investigation of different notions of equivalence between logic programs for program optimization purposes, and the development of pragma languages to express such information. Second, a uniform framework for the dataflow analysis of logic programs is being developed. We expect this work to both improve our understanding of problems underlying the analysis of logic programming languages, and lead to the development of more efficient and flexible analysis methods for such languages. Finally, high-level optimizing transformations of logic programs are being studied. The focus here is on the interaction of such transformations both with the appropriate notion of program equivalence, and with operational properties of programs.