Skip to main content

Abstract Diagnosis of First Order Functional Logic Programs

  • Conference paper
Logic-Based Program Synthesis and Transformation (LOPSTR 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6564))

Abstract

We present a generic scheme for the abstract debugging of functional logic programs. We associate to programs a semantics based on a (continuous) immediate consequence operator, \(\mathcal{P}[\![\mathcal{R}]\!]\), which models correctly the powerful features of modern functional logic languages (non-deterministic, non-strict functions defined by non-confluent programs and call-time choice behaviour). Then, we develop an effective debugging methodology which is based on abstract interpretation: by approximating the intended specification of the semantics of \(\mathcal{R}\) we derive a finitely terminating bottom-up diagnosis method, which can be used statically. Our debugging framework does not require the user to provide error symptoms in advance and is applicable with partial specifications and even partial programs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alpuente, M., Ballis, D., Correa, F., Falaschi, M.: An Integrated Framework for the Diagnosis and Correction of Rule-Based Programs. Theoretical Computer Science 411(47), 4055–4101 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  2. Alpuente, M., Comini, M., Escobar, S., Falaschi, M., Iborra, J.: A Compact Fixpoint Semantics for Term Rewriting Systems. Theoretical Computer Science 411(37), 3348–3371 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  3. Alpuente, M., Comini, M., Escobar, S., Falaschi, M., Lucas, S.: Abstract Diagnosis of Functional Programs. In: Leuschel, M. (ed.) LOPSTR 2002. LNCS, vol. 2664, pp. 1–16. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  4. Bacci, G., Comini, M.: A Compact Goal-Independent Bottom-Up Fixpoint Modeling of the Behaviour of First Order Curry. Technical Report DIMI-UD/06/2010/RR, Dipartimento di Matematica e Informatica, Universit? di Udine (2010), http://www.dimi.uniud.it/comini/Papers/

  5. Bert, D., Echahed, R.: Abstraction of Conditional Term Rewriting Systems. In: Lloyd, J.W. (ed.) Proceedings of the 1995 Int’l Symposium on Logic Programming (ILPS 1995), pp. 162–176. The MIT Press, Cambridge (1995)

    Google Scholar 

  6. Braßel, B.: A Technique to build Debugging Tools for Lazy Functional Logic Languages. In: Falaschi, M. (ed.) Proceedings of the 17th Workshop on Functional and (Constraint) Logic Programming (WFLP 2008), pp. 63–76 (2008)

    Google Scholar 

  7. Caballero-Roldán, R.: A Declarative Debugger of Incorrect Answers for Constraint Functional-Logic Programs. In: WCFLP 2005: Proceedings of the 2005 ACM SIGPLAN Workshop on Curry and Functional Logic Programming, pp. 8–13. ACM Press, New York (2005)

    Chapter  Google Scholar 

  8. Caballero, R., López-Fraguas, F.J., Rodríguez-Artalejo, M.: Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs. In: Kuchen, H., Ueda, K. (eds.) FLOPS 2001. LNCS, vol. 2024, pp. 170–184. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  9. Caballero-Roldán, R., Rodríquez-Artalejo, M., del Vado-Vírseda, R.: Declarative Diagnosis of Missing Answers in Constraint Functional-Logic Programming. In: Garrigue, J., Hermenegildo, M.V. (eds.) FLOPS 2008. LNCS, vol. 4989, pp. 305–321. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Comini, M., Gori, R., Levi, G., Volpe, P.: Abstract Interpretation based Verification of Logic Programs. Science of Computer Programming 49(1-3), 89–123 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  11. Comini, M., Levi, G., Meo, M.C., Vitiello, G.: Proving properties of Logic Programs by Abstract Diagnosis. In: Dam, M. (ed.) LOMAPS-WS 1996. LNCS, vol. 1192, pp. 22–50. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  12. Comini, M., Levi, G., Meo, M.C., Vitiello, G.: Abstract Diagnosis. Journal of Logic Programming 39(1-3), 43–93 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  13. Comini, M., Levi, G., Vitiello, G.: Declarative Diagnosis Revisited. In: Lloyd, J.W. (ed.) Proceedings of the 1995 Int’l Symposium on Logic Programming (ILPS 1995), pp. 275–287. The MIT Press, Cambridge (1995)

    Google Scholar 

  14. Cousot, P., Cousot, R.: Systematic Design of Program Analysis Frameworks. In: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, San Antonio, Texas, January 29-31, pp. 269–282. ACM Press, New York (1979)

    Google Scholar 

  15. Echahed, R., Janodet, J.-C.: Admissible Graph Rewriting and Narrowing. In: Proceedings of the Joint International Conference and Symposium on Logic Programming, pp. 325–340. MIT Press, Cambridge (1998)

    Google Scholar 

  16. Hanus, M.: Call pattern analysis for functional logic programs. In: Proc. of the 10th International ACM SIGPLAN Conference on Principle and Practice of Declarative Programming (PPDP 2008), pp. 67–78. ACM Press, New York (2008)

    Google Scholar 

  17. Naish, L., Barbour, T.: A Declarative Debugger for a Logical-Functional Language. In: Eighth International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, vol. 2, pp. 91–99 (1995)

    Google Scholar 

  18. Nilsson, H., Fritzson, P.: Algoritmic debugging for lazy functional languages. Journal of Functional Programming 4(1), 337–370 (1994)

    Article  Google Scholar 

  19. Palamidessi, C.: Algebraic Properties of Idempotent Substitutions. In: Paterson, M.S. (ed.) ICALP 1990. LNCS, vol. 443, pp. 386–399. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bacci, G., Comini, M. (2011). Abstract Diagnosis of First Order Functional Logic Programs. In: Alpuente, M. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2010. Lecture Notes in Computer Science, vol 6564. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20551-4_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-20551-4_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-20550-7

  • Online ISBN: 978-3-642-20551-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics