Skip to main content Accessibility help
×
Home
Hostname: page-component-684bc48f8b-vmws4 Total loading time: 3.563 Render date: 2021-04-13T09:13:49.129Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "metricsAbstractViews": false, "figures": false, "newCiteModal": false, "newCitedByModal": true }

RedAlert: Determinacy inference for Prolog

Published online by Cambridge University Press:  06 July 2011

JAEL KRIENER
Affiliation:
School of Computing, University of Kent, Canterbury, Kent CT2 7NF, UK (e-mail: Jael.E.Kriener@kent.ac.uk, A.M.King@kent.ac.uk)
ANDY KING
Affiliation:
School of Computing, University of Kent, Canterbury, Kent CT2 7NF, UK (e-mail: Jael.E.Kriener@kent.ac.uk, A.M.King@kent.ac.uk)
Corresponding

Abstract

This paper revisits the problem of determinacy inference addressing the problem of how to uniformly handle cut. To this end a new semantics is introduced for cut, which is abstracted to systematically derive a backward analysis that derives conditions sufficient for a goal to succeed at most once. The method is conceptionally simpler and easier to implement than the existing techniques, while improving the latter's handling of cut. Formal arguments substantiate correctness and experimental work, and a tool called ‘RedAlert’ demonstrates the method's generality and applicability.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2011

Access options

Get access to the full version of this content by using one of the access options below.

References

Apt, K. R., Blair, H. A. and Walker, A. 1988. Towards a theory of declarative knowledge. In Foundations of Deductive Databases and Logic Programming. Morgan Kaufmann, Massachusetts, 89148.CrossRefGoogle Scholar
Armstrong, T., Marriott, K., Schachte, P. and Søndergaard, H. 1998. Two classes of Boolean functions for dependency analysis. Science of Computer Programming 31 (1), 345.CrossRefGoogle Scholar
Baker, N. and Søndergaard, H. 1993. Definiteness analysis for CLP(). Australian Computer Science Communications 15 (1), 321332. (Proceedings of the Sixteenth Australian Computer Science Conference.)Google Scholar
Billaud, M. 1990. Simple operational and denotational semantics for Prolog with cut. Theoretical Computer Science 71 (2), 193208.CrossRefGoogle Scholar
Brauer, J., King, A. and Kriener, J. To appear. Existential quantification as incremental SAT. In Twenty-Third International Conference on Computer Aided Verification, Gopalakrishnan, G. and Qadeer, S., Eds. Lecture Notes in Computer Science. Springer-Verlag, Berlin, Germany.Google Scholar
Codish, M., Lagoon, V. and Stuckey, P. 2008. Logic programming with satisfiability. Theory and Practice of Logic Programming 8 (1), 121128.CrossRefGoogle Scholar
Codish, M. and Søndergaard, H. 2002. Meta-circular abstract interpretation in Prolog. In The Essence of Computation: Complexity, Analysis, Transformation, Mogensen, T. Æ., Schmidt, D. and Sudborough, I. H., Eds. Lecture Notes in Computer Science, vol. 2566. Springer, New York, 109134.CrossRefGoogle Scholar
Cousot, P. and Cousot, R. 1979. Systematic design of program analysis frameworks. In Sixth Annual ACM Symposium on Principles of Programming Languages, San Antonio, Texas, January 29–31. 269282.Google Scholar
Dawson, S., Ramakrishnan, C. R., Ramakrishnan, I. V. and Sekar, R. C. 1993. Extracting determinacy in logic programs. In Proceedings of the Tenth International Conference on Logic Programming. MIT Press, Cambridge, MA, 424438.Google Scholar
de Vink, E. P. 1989. Comparative semantics for Prolog with cut. Science of Computer Programming 13 (1), 237264.CrossRefGoogle Scholar
Debray, S. K. and Mishra, P. 1988. Denotational and operational semantics for Prolog. Journal of Logic Programming 5 (1), 8191.CrossRefGoogle Scholar
Genaim, S. and King, A. 2008. Inferring non-suspension conditions for logic programs with dynamic scheduling. ACM Transactions on Computational Logic 9 (3), 143.CrossRefGoogle Scholar
Giacobazzi, R. 1993. Semantic Aspects of Logic Program Analysis, PhD thesis, Dipartimento di Informatica, Universitá di Pisa, Pisa, Italy.Google Scholar
Howe, J. M. and King, A. 2001. Positive Boolean functions as multiheaded clauses. In Proceedings of the Seventeenth International Conference on Logic Programming, Codognet, P., Ed. Lecture Notes in Computer Science, vol. 2237. Springer, New York, 120134.Google Scholar
King, A., Lu, L. and Genaim, S. 2006. Detecting determinacy in Prolog programs. In Proceedings of the Twenty-Second International Conference on Logic Programming. Etalle, S. and Truszczynski, M., Eds. Lecture Notes in Computer Science, vol. 4079. Springer, New York, 132147.Google Scholar
Kriener, J. and King, A. 2011. Appendix for RedAlert: Determinacy inference for Prolog. Technical Report 1-11, School of Computing, University of Kent, Kent, UK. Available at http://www.cs.kent.ac.uk/pubs/2011/3107/index.htmlGoogle Scholar
Le Charlier, B., Rossi, S. and Van Hentenryck, P. 1994. An abstract interpretation framework which accurately handles Prolog search-rule and the cut. In Symposium on Logic Programming. Bruynooghe, M., Ed. MIT Press, Cambridge, MA, 157171.Google Scholar
Lu, L. and King, A. 2005. Determinacy inference for logic programs. In Fourteenth European Symposium on Programming, Sagiv, S., Ed. Lecture Notes in Computer Science, vol. 3444. Springer, New York, 108123.Google Scholar
Mogensen, T. Æ. 1996. A semantics-based determinacy analysis for Prolog with cut. In Ershov Memorial Conference, Novosibirsk, Russia. Bjørner, D., Broy, M. and Pottosin, I. V., Eds. Lecture Notes in Computer Science, vol. 1181. Springer, New York, 374385.Google Scholar
O'Keefe, R. A. 1990. The Craft of Prolog. MIT Press, Cambridge, MA.Google Scholar
Sahlin, D. 1991. Determinacy analysis for full Prolog. In Symposium on Partial Evaluation and Semantics-Based Program Manipulation. ACM, New York, NY, 2330.Google Scholar
Schneider-Kamp, P., Giesl, J., Ströder, T., Serebrenik, A. and Thiemann, R. 2010. Automated termination analysis for logic programs with cut. Theory and Practice of Logic Programming 10 (4–6), 365381.CrossRefGoogle Scholar

KRIENER and KING supplementary material

Appendix

PDF 288 KB

Full text views

Full text views reflects PDF downloads, PDFs sent to Google Drive, Dropbox and Kindle and HTML full text views.

Total number of HTML views: 0
Total number of PDF views: 24 *
View data table for this chart

* Views captured on Cambridge Core between September 2016 - 13th April 2021. This data will be updated every 24 hours.

Send article to Kindle

To send this article to your Kindle, first ensure no-reply@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle. Find out more about sending to your Kindle.

Note you can select to send to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

RedAlert: Determinacy inference for Prolog
Available formats
×

Send article to Dropbox

To send this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Dropbox.

RedAlert: Determinacy inference for Prolog
Available formats
×

Send article to Google Drive

To send this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your <service> account. Find out more about sending content to Google Drive.

RedAlert: Determinacy inference for Prolog
Available formats
×
×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *