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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Apt, K.R., Marchiori, E.: Reasoning about Prolog programs: from modes through types to assertions. Formal Aspects of Computing 6(6A), 743–765 (1994)
Apt, K.R., van Emden, M.H.: Contributions to the theory of logic programming. Journal of the ACM 29(3), 841–862 (1982)
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)
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)
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)
Comini, M., Levi, G., Meo, M.C., Vitiello, G.: Abstract diagnosis. Journal of Logic Programming 39(l-3), 43–93 (1999)
Comini, M., Meo, M.C.: Compositionality properties of SLD-derivations. Theoretical Computer Science 211(l-2), 275–309 (1999)
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)
Cousot, P., Cousot, R.: Systematic Design of Program Analysis Frameworks. In: Proc. Sixth ACM Symp. Principles of Programming Languages, pp. 269–282 (1979)
Drabent, W., Maluszynski, J.: Inductive Assertion Method for Logic Programs. Theoretical Computer Science 59(1), 133–155 (1988)
Ferrand, G.: Error Diagnosis in Logic Programming, an Adaptation of E. Y. Shapiro’s Method. Journal of Logic Programming 4, 177–198 (1987)
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)
Gori, R., Levi, G.: Finite failure is and-compositional. Journal of Logic and Computation 7(6), 753–776 (1997)
Gori, R., Levi, G.: On finite failure. Technical report, Dipartimento di Informatica, Universita di Pisa (1997)
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)
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)
Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)
Marriott, K., Sφndergaard, H.: On Describing Success Patterns of LogicPrograms. Technical Report 12, The University of Melbourne (1988)
Sato, T., Tamaki, H.: Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science 34, 227–240 (1984)
Shapiro, E.Y.: Algorithmic program debugging. In: Proc. Ninth Annual ACM Symp. on Principles of Programming Languages. ACM Press, New York (1982)
Shapiro, E.Y.: Algorithmic Program Debugging. The MIT Press, Cambridge (1983)
Volpe, P.: Derivation of proof methods for logic programs by abstract interpretation. PhD thesis, Universita’ di Napoli (1998)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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