Goal-independent Semantics for Path Dependent Analysis of Prolog Programs

Considering the execution path and cut operators of a Prolog program can improve the precision of program analysis. Known semantics for Prolog either makes use of limited amount of path information and hence leads to less precise analysis or is goal dependent and therefore not suitable for goal independent program analysis. This paper deals with the problems by proposing a goal-independent denotational semantics for Prolog with cut, from which we can compute the set of partially computed answers associated to each program point that are obtained in the execution of any goal. With existing abstraction techniques this semantics can be abstracted into a finitely computable semantics that can serve as a basis for goal-independent Prolog program analysis.

[2]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[3]  Giorgio Levi,et al.  Accurate Analysis of Prolog with cut , 1996, APPIA-GULP-PRODE.

[4]  Gilberto Filé,et al.  Static Analysis of Prolog with Cut , 1993, LPAR.

[5]  Roberto Barbuti,et al.  A general framework for semantics-based bottom-up abstract interpretation of logic programs , 1993, TOPL.

[6]  Michael J. Maher,et al.  Oracle Semantics for Prolog , 1995, Inf. Comput..

[7]  William H. Winsborough,et al.  Path-Dependent Reachability Analysis for Multiple Specialization , 1989, NACLP.

[8]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[9]  Chris Mellish,et al.  Abstract Interpretation of Prolog Programs , 1986, ICLP.

[10]  Maurizio Gabbrielli,et al.  Resultants Semantics for Prolog , 1996, J. Log. Comput..

[11]  Michael Codish,et al.  Bottum-up abstract interpretation of logic programs , 1992 .

[12]  Pascal Van Hentenryck,et al.  An Abstract Interpretation Framework which Accurately Handles Prolog Search-Rule and the Cut , 1994, ILPS.

[13]  Lunjin Lu,et al.  Path Dependent Analysis of Logic Programs , 2002, PEPM '02.

[14]  Melvin Fitting A Deterministic Prolog Fixpoint Semantics , 1985, J. Log. Program..

[15]  Giorgio Levi,et al.  Analysis of Pure PROLOG Programs , 1995, GULP-PRODE.

[16]  Fausto Spoto,et al.  Operational and Goal-Independent Denotational Semantics for Prolog with Cut , 2000, J. Log. Program..

[17]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[18]  Michele Bugliesi,et al.  A New Fixpoint Semantics for Prolog , 1993, GULP.

[19]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[20]  Egon Börger,et al.  A Logical Operational Semantics of Full Prolog Part III: Built-in Predicates for Files, Terms, Arithmetic and Input-Output , 1990, IWBS Report.