Skip to main content

On the Verification of Finite Failure

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1702))

Abstract

We first define a new fixpoint semantics which correctly models finite failure and is and-compositional. We then consider the problem of verification w.r.t.; finite failure and we show how Ferrand’s approach, using both a least fixpoint and greatest fixpoint semantics, can be adapted to finite failure. The verification method is not effective. Therefore, we consider an approximation from above and an approximation from below of our semantics, which give two different finite approximations. These approximations are used for effective program verification.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Apt, K.R.: Introduction to Logic Programming. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science. Formal Models and Semantics, vol. B, pp. 495–574. Elsevier and The MIT Press (1990)

    Google Scholar 

  2. Apt, K.R., Marchiori, E.: Reasoning about Prolog programs: from modes through types to assertions. Formal Aspects of Computing 6(6A), 743–765 (1994)

    Article  MATH  Google Scholar 

  3. Apt, K.R., van Emden, M.H.: Contributions to the theory of logic programming. Journal of the ACM 29(3), 841–862 (1982)

    Article  MATH  Google Scholar 

  4. Bossi, A., Cocco, N.: Verifying correctness of logic programs. In: Díaz, J., Orejas, F. (eds.) CAAP 1989 and TAPSOFT 1989. LNCS, vol. 351, pp. 96–110. Springer, Heidelberg (1989)

    Google Scholar 

  5. Bruynooghe, M., Vandecasteele, H., de Waal, D.A., Denecker, M.: Detecting unsolvable queries for definite logic programs. In: Palamidessi, Glaser, Meinke (eds.) Proc. 10th Int’l Conf. and Symp. Principle of Declarative Programming. LNCS, pp. 118–133. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  6. Bueno, F., Deransart, P., Drabent, W., Ferrand, G., Hermenegildo, M., Maluszynsky, J., Puebla, G.: On the role of semantic approximations in validation and diagnosis of constraint logic programs. In: Kamkar, M. (ed.) Proceedings of the Third International Workshop on Automatic Debugging, AADEBUG 1997 (1997)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  8. Comini, M., Meo, M.C.: Compositionality properties of SLD-derivations. Theoretical Computer Science 211(l-2), 275–309 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  9. Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In: Proc. Fourth ACM Symp. Principles of Programming Languages, pp. 238–252 (1977)

    Google Scholar 

  10. Cousot, P., Cousot, R.: Systematic Design of Program Analysis Frameworks. In: Proc. Sixth ACM Symp. Principles of Programming Languages, pp. 269–282 (1979)

    Google Scholar 

  11. Drabent, W., Maluszynski, J.: Inductive Assertion Method for Logic Programs. Theoretical Computer Science 59(1), 133–155 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  12. Ferrand, G.: Error Diagnosis in Logic Programming, an Adaptation of E. Y. Shapiro’s Method. Journal of Logic Programming 4, 177–198 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  13. Ferrand, G.: The notions of symptom and error in declarative diagnosis of logic programs. In: Fritzson, P.A. (ed.) AADEBUG 1993. LNCS, vol. 749, pp. 40–57. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  14. Gori, R., Levi, G.: Finite failure is and-compositional. Journal of Logic and Computation 7(6), 753–776 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  15. Gori, R., Levi, G.: On finite failure. Technical report, Dipartimento di Informatica, Universita di Pisa (1997)

    Google Scholar 

  16. Levi, G., Martelli, M., Palamidessi, C.: Failure and success made symmetric. In: Debray, S.K., Hermenegildo, M. (eds.) Proc. North American Conf. on Logic Programming 1990, pp. 3–22. The MIT Press, Cambridge (1990)

    Google Scholar 

  17. Levi, G., Volpe, P.: Derivation of proof methods by abstract interpretation. In: Palamidessi, Glaser, Meinke (eds.) Proc. 10th Int’l Conf. and Symp. Principle of Declarative Programming. LNCS, pp. 102–117. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  18. Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)

    MATH  Google Scholar 

  19. Marriott, K., Sφndergaard, H.: On Describing Success Patterns of LogicPrograms. Technical Report 12, The University of Melbourne (1988)

    Google Scholar 

  20. Sato, T., Tamaki, H.: Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science 34, 227–240 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  21. Shapiro, E.Y.: Algorithmic program debugging. In: Proc. Ninth Annual ACM Symp. on Principles of Programming Languages. ACM Press, New York (1982)

    Google Scholar 

  22. Shapiro, E.Y.: Algorithmic Program Debugging. The MIT Press, Cambridge (1983)

    Google Scholar 

  23. Volpe, P.: Derivation of proof methods for logic programs by abstract interpretation. PhD thesis, Universita’ di Napoli (1998)

    Google Scholar 

  24. Volpe, P.: A first-order language for expressing aliasing and type properties of logic programs. In: Levi, G. (ed.) SAS 1998. LNCS, vol. 1503, pp. 184–199. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gori, R., Levi, G. (1999). On the Verification of Finite Failure. In: Nadathur, G. (eds) Principles and Practice of Declarative Programming. PPDP 1999. Lecture Notes in Computer Science, vol 1702. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10704567_19

Download citation

  • DOI: https://doi.org/10.1007/10704567_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66540-3

  • Online ISBN: 978-3-540-48164-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics