Skip to main content

Failure Analysis based on Abstract Interpretation

  • Conference paper
Declarative Programming, Sasbachwalden 1991

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 38 Accesses

Abstract

This paper presents a study of correctness of pure Prolog programs, based on the technique of Abstract Interpretation for logic programs. The notion of (partial) correctness of a program relies on the type pre-analysis of call and success substitutions compared (dynamically) with concrete data-flow. It is possible to deduce, by the mean of a global static analysis, properties on variables of the analyzed program (groundness, type, sharing...) but also general properties of the entire program such as: how look the solutions like, the number of these solutions,.... The technique we propose is based on a novel approach of type inference (see [18, 7]) which relies on a recent method of global analysis for logic programs formalized within the abstract interpretation framework (see [18]).

This work was partially supported by the GRECO de programmation (METHEOL project)

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. M. Bruynooghe A practical framework for the abstract interpretation of logic programs; 5ik ICLP—SLP 88;tutorial N°2.

    Google Scholar 

  2. P. De Boeck, B. Le Charlier Static analysis of prolog procedures for ensuring correctness; Proc. 2’ workshop on Programming Language Implementation and Logic Programming, Linköping university, Sweden, Aug 1990.

    Google Scholar 

  3. P. Cousot, R. Cousot Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction of Approximation of Fixpoints;POPL 1977;Sigact Sigplan;pp 238–252.

    Google Scholar 

  4. M. Codish, D. Dams, E. Yardeni Bottom-up abstract interpretation of logic programs; technical report CS90–24 Weizmann institute.

    Google Scholar 

  5. M. Codish, D. Dams, E. Yardeni Derivation and safety of an abstract unification algorithm for groundness and aliasing analysis; draft oct. 90 Weizmann Institute.

    Google Scholar 

  6. M-M. Corsini, G. Filè A complete framework for the abstract interpretation of logic programs: theory and application; research report Università di Padova.

    Google Scholar 

  7. M-M Corsini, K. Musumbu Type inference in Prolog: a new approach; to appear in proc. of Informatika9l.

    Google Scholar 

  8. S. Debray Static Inference of Modes and Data Dependencies in Logic Programs; Rep.87–15, Univ. of Arizona 1987.

    Google Scholar 

  9. S. Debray, D. Warren Automatic Mode Inference for Logic Programs; J. Logic Programming 1988 vol. 5;pp 207–229.

    Article  MATH  MathSciNet  Google Scholar 

  10. G. Filé, A. Cortesi Abstract interpretation of logic programs: an abstract domain for groundness, sharing, freeness and compoundness analysis; ACM Sigplan symposium on partial evaluation 91.

    Google Scholar 

  11. G. Janssens, M. Bruynooghe Deriving descriptions of possible values of program variables by means of abstract interpretation; draft revised version for Journal of Logic programming.

    Google Scholar 

  12. T. Kanamori, T. Kawamura Abstract interpretation based on OLDT resolution; ICOT research report 1990.

    Google Scholar 

  13. B. Le Charlier, K. Musumbu, P. Van Hentenryck A general abstract interpretation algorithm and its complexity analysis; ICLP 91; pp 64–78.

    Google Scholar 

  14. J. Lloyd Foundations of logic programming;Springer Verlag;series in symbolic of computation 1987.

    Google Scholar 

  15. C. Mellish Abstract Interpretation of Prolog programs; ICLP 86;LNCS 225;pp 463–474.

    Google Scholar 

  16. R. Milner A theory of type polymorphism in programming; Edinburgh internal report CSR 9–77.

    Google Scholar 

  17. A. Marién, G. Janssens, A. Mulkers, M. Bruynooghe The impact of abstract interpretation on code generation: an experiment in efficiency, ICLP 89;pp 33–47.

    Google Scholar 

  18. K. Musumbu Abstract interpretation of prolog programs;PHD thesis (in french); sept. 90.

    Google Scholar 

  19. K. Marriott, H. Sondergaard Bottom up abstract interpretation of logic programs; ICLP/SLP 88.

    Google Scholar 

  20. K. Marriott, H. Sondergaard Abstract interpretation of logic programs: the denotaional approach; GULP90.

    Google Scholar 

  21. T. Sato, H. Tamaki OLD resolution with tabulation ICLP 86;LNCS 225;pp 84–98.

    Google Scholar 

  22. E. Yardeni, E. Shapiro A type system for logic programs; Research report CS87–05 Weizmann Institute.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag London

About this paper

Cite this paper

Corsini, MM., Musumbu, K. (1992). Failure Analysis based on Abstract Interpretation. In: Darlington, J., Dietrich, R. (eds) Declarative Programming, Sasbachwalden 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3794-8_19

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3794-8_19

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19735-5

  • Online ISBN: 978-1-4471-3794-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics