Hostname: page-component-cd9895bd7-dzt6s Total loading time: 0 Render date: 2024-12-19T02:06:31.690Z Has data issue: false hasContentIssue false

A non-termination criterion for binary constraint logic programs

Published online by Cambridge University Press:  18 February 2009

ÉTIENNE PAYET
Affiliation:
IREMIA - LIM - Université de la Réunion, France (e-mail: [email protected], [email protected]
FRED MESNARD
Affiliation:
IREMIA - LIM - Université de la Réunion, France (e-mail: [email protected], [email protected]

Abstract

On the one hand, termination analysis of logic programs is now a fairly established research topic within the logic programming community. On the other hand, non-termination analysis seems to remain a much less attractive subject. If we divide this line of research into two kinds of approaches, dynamic versus static analysis, this paper belongs to the latter. It proposes a criterion for detecting non-terminating atomic queries with respect to binary constraint logic programming (CLP) rules, which strictly generalizes our previous works on this subject. We give a generic operational definition and an implemented logical form of this criterion. Then we show that the logical form is correct and complete with respect to the operational definition.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Bol, R. N., Apt, K. R. and Klop, J. W. 1991. An analysis of loop checking mechanisms for logic programs. Theoretical Computer Science 86, 3579.Google Scholar
Codish, M. and Taboch, C. 1999. A semantics basis for termination analysis of logic programs. Journal of Logic Programming 41, 1, 103123.Google Scholar
De Schreye, D., Bruynooghe, M. and Verschaetse, K. 1989. On the existence of nonterminating queries for a restricted class of Prolog-clauses. Artificial Intelligence 41, 237248.CrossRefGoogle Scholar
De Schreye, D. and Decorte, S. 1994. Termination of logic programs: The never-ending story. Journal of Logic Programming 19–20, 199260.Google Scholar
Gabbrielli, M. and Giacobazzi, R. 1994. Goal independency and call patterns in the analysis of logic programs. In Proc. of the ACM Symposium on Applied Computing (SAC'94). Berghel, Hal, Hlengl, Terry and Urban, Joseph, ACM Press, New York, 394399.Google Scholar
Giesl, J., Thiemann, R. and Schneider-Kamp, P. 2005. Proving and disproving termination of higher-order functions. In Proc. of the 5th International Workshop on Frontiers of Combining Systems (FroCoS'05), Gramlich, B., Ed. Lecture Notes in Artificial Intelligence, vol. 3717. Springer-Verlag, Berlin, 216231.Google Scholar
Godefroid, P., Klarlund, N. and Sen, K. 2005. DART: Directed Automated Random Testing. In Proc. of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation (PLDI'05), Sarkar, V. and Hall, M. W., Eds. ACM, New York, 213223.CrossRefGoogle Scholar
Gupta, A., Henzinger, T. A., Majumdar, R., Rybalchenko, A. and Xu, R.-G. 2008. Proving non-termination. In Proc. of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'08), Necula, G. and Wadler, P., Eds. ACM, New York, 147158.Google Scholar
Jaffar, J., Maher, M. J., Marriott, K. and Stuckey, P. J. 1998. The semantics of constraint logic programs. Journal of Logic Programming 37, 1–3, 146.Google Scholar
Maher, M. 1988. Complete axiomatizations of the algebras of finite, rational and infinite trees. In Proc. of the 3rd Annual Symposium on Logic in Computer Science (LICS'88). IEEE Computer Society, Los Alamitos, CA, 348357.Google Scholar
Mesnard, F. and Ruggieri, S. 2003. On proving left termination of constraint logic programs. ACM Transactions on Computational Logic 4, 2, 207259.Google Scholar
Payet, E. 2008. Loop detection in term rewriting using the eliminating unfoldings. Theoretical Computer Science 403, 307327.Google Scholar
Payet, E. and Mesnard, F. 2004. Non-termination inference for constraint logic programs. In Proc. of the 11th International Symposium on Static Analysis (SAS'04), Giacobazzi, R., Ed. Lecture Notes in Computer Science, vol. 3148. Springer-Verlag, Berlin, 377392.Google Scholar
Payet, E. and Mesnard, F. 2006. Non-termination inference of logic programs. ACM Transactions on Programming Languages and Systems 28, 2, 256289.Google Scholar
Refalo, P. and Hentenryck, P. V. 1996. CLP(ℛlin) revised. In Proc. of the Joint International Conf. and Symposium on Logic Programming, Maher, M., Ed. The MIT Press, Cambridge, MA, 2236.Google Scholar
Sen, K., Marinov, D. and Agha, G. 2005. CUTE: A Concolic Unit Testing Engine for C. In Proc. of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Wermelinger, M. and Gall, H., Eds. ACM, New York, 263272.Google Scholar
Shen, Y.-D., Yuan, L.-Y. and You, J.-H. 2001. Loops checks for logic programs with functions. Theoretical Computer Science 266, 1–2, 441461.CrossRefGoogle Scholar
Speirs, C., Somogyi, Z. and Søndergaard, H. 1997. Termination analysis for Mercury. In Proc. of the 1997 Intl. Symp. on Static Analysis, van Hentenrick, P., Ed. Lecture Notes in Computer Science, vol. 1302. Springer-Verlag, Berlin, 160171.Google Scholar
Waldmann, J. 2004. Matchbox: A tool for match-bounded string rewriting. In Proc. of the 15th International Conference on Rewriting Techniques and Applications (RTA'04), van Oostrom, V., Ed. Lecture Notes in Computer Science, vol. 3091. Springer-Verlag, Berlin, 8594.CrossRefGoogle Scholar
Waldmann, J. 2007. Compressed loops (draft). http://dfa.imn.htwk-leipzig.de/matchbox/methods/.Google Scholar
Wielemaker, J. 2003. An overview of the SWI-Prolog programming environment. In Proceedings of the 13th International Workshop on Logic Programming Environments (WLPE'03), Mesnard, F. and Serebenik, A., Eds. Vol. CW371. Department of Computer Science, Katholieke Universiteit Leuven, Heverlee, Belgium, 116.Google Scholar
Zankl, H. and Middeldorp, A. 2007. Nontermination of string rewriting using SAT. Presented at the 9th International Workshop on Termination (WST'07).Google Scholar
Zantema, H. 2005. Termination of string rewriting proved automatically. Journal of Automated Reasoning 34, 2, 105139.CrossRefGoogle Scholar