A basic requirement of declarative programming is to free the programmer from the need to manually insert control annotations into the program. Here we study the execution of logi...
For logic programs with arithmetic predicates, showing termination is not easy, since the usual order for the integers is not well-founded. A new method, easily incorporated in th...
This paper introduces a logic for a class of properties - in particular variable aliasing - used in static analysis of logic programs. The logic is shown to be sound, complete and ...
We introduce calling context graphs and various static and theorem proving based analyses that together provide a powerful method for proving termination of programs written in fea...
The analysis and verification of higher-order programs raises the issue of control-flow analysis for higher-order languages. The problem of constructing an accurate call graph for...