Skip to main content

Automatic Verification Based on Abstract Interpretation

  • Conference paper
Book cover Functional and Logic Programming (FLOPS 1999)

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

Included in the following conference series:

Abstract

This paper reconstructs and extends the automatic verification technique of Le Métayer, Proving properties of programs defined over recursive data structures (ACM PEPM ’95), based on a backward abstract interpretation.

To show the effectiveness of extensions, we show two examples of the declarative specifications of sorting and formatting programs, which are directly and concisely expressed in our specification language.

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. Abramsky, S., Hankin, C. (eds.): Abstract interpretation of declarative languages. Ellis Horwood Limited (1987)

    Google Scholar 

  2. Arts, T., Gisel, J.: Termination of term rewriting using dependency pairs. Theoretical Computer Science (1999) (to appear)

    Google Scholar 

  3. Benton, P.N.: Strictness properties of lazy algebraic datatypes. In: Cousot, P., Filé, G., Falaschi, M., Rauzy, A. (eds.) WSA 1993. LNCS, vol. 724, pp. 206–217. Springer, Heidelberg (1993)

    Google Scholar 

  4. Bourdoncle, F.: Abstract debugging of higher-order imperative programs. In: ACM SIGPLAN PLDI 1993, pp. 46–55 (1993)

    Google Scholar 

  5. Bourdoncle, F.: Assertion-based debugging of imperative programs by abstract interpretation. In: Sommerville, I., Paul, M. (eds.) ESEC 1993. LNCS, vol. 717, pp. 501–516. Springer, Heidelberg (1993)

    Google Scholar 

  6. Bueno, F., et al.: On the role of semantic approximations in validation and diagnosis of constraint logic programs. In: Proc. AADEBUG 1997, pp. 155–169 (1997)

    Google Scholar 

  7. Burn, G.L.: Lazy Functional Languages: Abstract Interpretation and Compilation. MIT Press, Cambridge (1991)

    MATH  Google Scholar 

  8. 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)

    Google Scholar 

  9. Cortesi, A., Filé, G., Winsborough, W.: Prop revisited: Propositional formula as abstract domain for groundness analysis. In: Proc. 6th LICS, pp. 322–327 (1991)

    Google Scholar 

  10. Cortesi, A., Le Charlier, B., Rossi, S.: Specification-based automatic verification of Prolog programs. In: Gallagher, J.P. (ed.) LOPSTR 1996. LNCS, vol. 1207, pp. 38–57. Springer, Heidelberg (1997)

    Google Scholar 

  11. Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximation of fixpoints. In: Proc. 4th ACM POPL, pp. 238–252 (1977)

    Google Scholar 

  12. Dershowitz, N., Jouannaud, J.-P.: Rewrite systems. In: van Leeuwen, J. (ed.) ch. 6. Handbook of Theoretical Computer Science, vol. B, pp. 243–320. Elsevier Science Publishers, Amsterdam (1990)

    Google Scholar 

  13. Detlefs, D., Forgaard, R.: A procedure for automatically proving the termination of a set of rewrite rules. In: Jouannaud, J.-P. (ed.) RTA 1985. LNCS, vol. 202, pp. 255–270. Springer, Heidelberg (1985)

    Google Scholar 

  14. Dybjer, P.: Inverse image analysis generalizes strictness analysis. Information and Computation 90(2), 194–216 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  15. Ernoult, C., Mycroft, A.: Uniform ideals and strictness analysis. In: Leach Albert, J., Monien, B., Rodríguez-Artalejo, M. (eds.) ICALP 1991. LNCS, vol. 510, pp. 47–59. Springer, Heidelberg (1991)

    Google Scholar 

  16. Gisel, J.: Termination of nested and mutually recursive algorithms. Journal of Automated Reasoning 19, 1–29 (1997)

    Article  MathSciNet  Google Scholar 

  17. Jensen, T.P.: Abstract interpretation over algebraic data types. In: Proc. Int. Conf. on Computer Languages, pp. 265–276. IEEE, Los Alamitos (1994)

    Google Scholar 

  18. Le Charlier, B., Leclère, C., Rossi, S., Cortesi, A.: Automatic verification of behavioral properties of Prolog programs. In: Shyamasundar, R.K. (ed.) ASIAN 1997. LNCS, vol. 1345, pp. 225–237. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  19. Le Métayer, D.: Proving properties of programs defined over recursive data structures. In: Proc. ACM PEPM 1995, pp. 88–99 (1995)

    Google Scholar 

  20. Levi, G., Volpe, P.: Derivation of proof methods by abstract interpretation. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 102–117. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  21. Ogawa, M., Ono, S.: Deriving inductive properties of recursive programs based on least-fixpoint computation. Journal of Information Processing 32(7), 914–923 (1991) (in japanese)

    Google Scholar 

  22. Ogawa, M., Ono, S.: Transformation of strictness-related analyses based on abstract interpretation. IEICE Trans. E 74(2), 406–416 (1991)

    Google Scholar 

  23. Paulson, L.C.: ML for the working programmer, 2nd edn. Cambridge University Press, Cambridge (1996)

    MATH  Google Scholar 

  24. Van Oostrom, V.: Confluence for Abstract and Higher-Order Rewriting. PhD thesis, Vrije universiteit, Amsterdam (1994)

    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

Ogawa, M. (1999). Automatic Verification Based on Abstract Interpretation. In: Middeldorp, A., Sato, T. (eds) Functional and Logic Programming. FLOPS 1999. Lecture Notes in Computer Science, vol 1722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10705424_9

Download citation

  • DOI: https://doi.org/10.1007/10705424_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66677-6

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics