An Integrated Framework for Semantic Based Analysis of Logic Programs


Semantic-based program analysis provides useful information to compilers, debuggers and other program manipulation tools. There has been much research into semantic-based analysis of logic programs, resulting in a number of frameworks which support the design, implementation and evaluation of semantic-based analyses of logic programs. These frameworks have been designed mainly for analyses used in optimizing compilers of logic programs and have been instrumental in bringing efficiency to implementations of logic programming languages. However, these frameworks do not provide support for backward analyses or parametric analyses which are emerging as useful tools in logic program development. Nor do they provide sufficient support for context-sensitive analyses. Therefore, there is a need for a new framework which supports these new classes of analyses as well as those supported by existing frameworks. Such a framework will facilitate the design, implementation and evaluation of forward and backward analyses, parametric and non-parametric analyses, context-sensitive and context insensitive analyses, and their combinations via principled methods.

The project seeks to create a new framework for designing, implementing and evaluating precise and efficient analyses of logic programs. The key research activities include: 1) Integrating research findings in semantic-based program analysis of logic programs; 2) Developing methods for systematic design and efficient computation of program analyses; 3) Implementing a software environment that facilitates design, implementation and evaluation of program analyses; 4) Identifying, implementing and evaluating new program analyses; 5) Developing or enhancing several graduate and undergraduate level courses in computer science and software engineering. The key benefits of this research project include: (1) a systematic method for designing parametric program analyses; (2) a systematic method for designing backward program analyses; (3) a systematic method for designing context-sensitive program analyses; (4) a software environment that can serve as a workbench for research in semantic-based analysis of logic programs; and (5) educational opportunities for students to work on leading edge research projects that solve theoretical and practical problems.

Supported by National Science Foundationa

Disclaimer: Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).