Skip to main content Accessibility help
×
Home
Hostname: page-component-5bf98f6d76-gckwl Total loading time: 0.331 Render date: 2021-04-20T17:52:27.134Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "metricsAbstractViews": false, "figures": false, "newCiteModal": false, "newCitedByModal": true }

Transforming floundering into success

Published online by Cambridge University Press:  30 October 2012

LEE NAISH
Affiliation:
Department of Computing and Information Systems, Melbourne School of Engineering University of Melbourne, Melbourne 3010, Australia (e-mail: lee@unimelb.edu.au)
Corresponding
E-mail address:

Abstract

We show how logic programs with “delays” can be transformed to programs without delays in a way that preserves information concerning floundering (also known as deadlock). This allows a declarative (model-theoretic), bottom-up or goal-independent approach to be used for analysis and debugging of properties related to floundering. We rely on some previously introduced restrictions on delay primitives and a key observation which allows properties such as groundness to be analysed by approximating the (ground) success set.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2012 

Access options

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

References

Apt, K. R. and van Emden, M. H. 1982. Contributions to the Theory of Logic Programming. Journal of ACM 29, 3, 841862.CrossRefGoogle Scholar
Apt, K. R. 1996. From Logic Programming to Prolog. Prentice-Hall, Upper Saddle River, NJ, USA.Google Scholar
Boye, J. and Maluszynski, J. 1995. Two aspects of directional types. In Proceedings of the Twelfth International Conference on Logic Programming, Sterling, L., Ed. Kanagawa, Japan, 747761.Google Scholar
Codish, M., Falaschi, M. and Marriott, K. 1994. Suspension analysis for concurrent logic programs. ACM Toplas 16, 3, 649686.CrossRefGoogle Scholar
Codish, M., Falaschi, M., Marriott, K. and Winsborough, W. 1997. A confluent semantic basis for the analysis of concurrent constraint logic programs. Journal of Logic Programming 30, 1, 649686.CrossRefGoogle Scholar
Codognet, C., Codognet, P. and Corsini, M.-M. 1990. Abstract interpretation for concurrent logic languages. In Proceedings of the North American Conference on Logic Programming, Debray, S. and Hermenegildo, M., Eds. The MIT Press, Austin, TX, USA, 215232.Google Scholar
Cortesi, A., Le Charlier, B. and Rossi, S. 2001. Re-execution-based analysis of logic programs with delay declarations. In Proceedings of the Andrei Ershov Fourth International Conference on Perspectives of System Informatics (PSI'01). LNCS vol. 2244. Springer-Verlag, NY, USA, 395405.Google Scholar
Cousot, P. and Cousot, R. 1992. Abstract interpretation and application to logic programs. Journal of Logic Programming 13, 2 & 3, 103179.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, 141.CrossRefGoogle Scholar
Giacobazzi, R. and Scozzari, F. 1998. A logical model for relational abstract domains. ACM Transactions on Programming Languages and Systems 20, 5, 10671109.CrossRefGoogle Scholar
Lloyd, J. W. 1984. Foundations of Logic Programming (Springer Series in Symbolic Computation). Springer-Verlag, NY, USA.CrossRefGoogle Scholar
Maher, M. J. 1988. Eqivalences of logic programs. In Foundations of Deductive Databases and Logic Programming, Minker, J., Ed. Morgan-Kaufmann, Los Altos, CA, USA, 627658.CrossRefGoogle Scholar
Marriott, K., García de la Banda, M. and Hermenegildo, M. 1994. Analyzing logic programs with dynamic scheduling. In Proceedings of the 20th Annual ACM Conference on Principles of Programming Languages. ACM, NY, USA, 240254.Google Scholar
Marriott, K., Søndergaard, H. and Dart, P. 1990. A characterization of non-floundering logic programs. In Proceedings of the North American Conference on Logic Programming, Debray, S. and Hermenegildo, M., Eds. The MIT Press, Austin, TX, USA, 661680.Google Scholar
Naish, L. 1988. Parallelizing NU-Prolog. In Proceedings of the Fifth International Conference Symposium on Logic Programming, Bowen, K. A. and Kowalski, R. A., Eds. Seattle, WA, USA, 15461564.Google Scholar
Naish, L. 1993. Coroutining and the construction of terminating logic programs. Australian Computer Science Communications 15, 1, 181190.Google Scholar
Naish, L. 1996. A declarative view of modes. In Proceedings of the 1996 Joint International Conference and Symposium on Logic Programming. MIT Press, Austin, TX, USA, 185199.Google Scholar
Naish, L. 2000. A three-valued declarative debugging scheme. Australian Computer Science Communications 22, 1 (January), 166173.Google Scholar
Naish, L. 2006. A three-valued semantics for logic programmers. Theory and Practice of Logic Programming 6, 5 (September), 509538.CrossRefGoogle Scholar
Naish, L. 2007. Resource-oriented deadlock analysis. In Proceedings of the 23rd International Conference on Logic Programming, Dalh, V. and Niemela, I., Eds. Porto, Portugal, 302316.Google Scholar
Naish, L. 2012. Declarative debugging of floundering in Prolog. In Proceedings of the 35th Australasian Computer Science Conference (ACSC 2012), CRPIT vol. 122. CRPIT, Sydney, Australia.Google Scholar
Puebla, G., García de la Banda, M., Marriott, K. and Stuckey, P. 1997. Optimization of logic programs with dynamic scheduling. In Proceedings of the 1997 International Conference on Logic Programming. MIT Press, Cambridge, MA, USA, 93107.Google Scholar
Ross, K. 1989. A procedural semantics for well founded negation in logic programs. In Proceedings of the Eighth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Philadelphia, PA, March 29–31, Silberschatz, A., Ed. ACM Press, New York, 2233.CrossRefGoogle Scholar
Shapiro, E. Y. 1983. Algorithmic Program Debugging. MIT Press, Cambridge, MA, USA.Google Scholar
Somogyi, Z., Henderson, F. J. and Conway, T. 1995. Mercury: An efficient purely declarative logic programming language. In Proceedings of the Australian Computer Science Conference, Glenelg, Australia, 499512.Google Scholar
van Emden, M. and Kowalski, R. 1976. The semantics of predicate logic as a programing language. Journal of the ACM 23, 4, 733742.CrossRefGoogle Scholar

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: 12 *
View data table for this chart

* Views captured on Cambridge Core between September 2016 - 20th 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.

Transforming floundering into success
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.

Transforming floundering into success
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.

Transforming floundering into success
Available formats
×
×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *