Skip to main content

Automating Algebraic Specifications of Non-freely Generated Data Types

  • Conference paper
Automated Technology for Verification and Analysis (ATVA 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5311))

Abstract

Non-freely generated data types are widely used in case studies carried out in the theorem prover KIV. The most common examples are stores, sets and arrays. We present an automatic method that generates finite counterexamples for wrong conjectures and therewith offers a valuable support for proof engineers saving their time otherwise spent on unsuccessful proof attempts. The approach is based on the finite model finding and uses Alloy Analyzer [1] to generate finite instances of theories in KIV [6]. Most definitions of functions or predicates on infinite structures do not preserve the semantics if a transition to arbitrary finite substructures is made. We propose the constraints which should be satisfied by the finite substructures, identify a class of amenable definitions and present a practical realization using Alloy. The technique is evaluated on the library of basic data types as well as on some examples from case studies in KIV.

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. The Alloy Project, http://alloy.mit.edu

  2. Ahrendt, W.: Deductive search for errors in free data type specifications using model generation. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392. Springer, Heidelberg (2002)

    Google Scholar 

  3. Ahrendt, W., Beckert, B., Hähnle, R., Menzel, W., Reif, W., Schellhorn, G., Schmitt, P.: Integrating Automated and Interactive Theorem Proving. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction – A Basis for Applications. Kluwer Academic Publishers, Dordrecht (1998)

    Google Scholar 

  4. Balser, M.: Verifying Concurrent Systems with Symbolic Execution. PhD thesis, Universität Augsburg, Fakultät für Informatik (2005)

    Google Scholar 

  5. Balser, M., Bäumler, S., Knapp, A., Reif, W., Thums, A.: Interactive verification of UML state machines. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 434–448. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  6. Balser, M., Reif, W., Schellhorn, G., Stenzel, K., Thums, A.: Formal system development with KIV. In: Maibaum, T.S.E. (ed.) FASE 2000. LNCS, vol. 1783. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  7. Claessen, K.: Equinox, a new theorem prover for full first-order logic with equality. Dagstuhl Seminar 05431 on Deduction and Applications (October 2005)

    Google Scholar 

  8. Claessen, K., Srensson, N.: New techniques that improve mace-style model finding. In: Proc. of Workshop on Model Computation (MODEL) (2003)

    Google Scholar 

  9. Dunets, A., Schellhorn, G., Reif, W.: Bounded Relational Analysis of Free Data Types. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 99–115. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification. Springer, Heidelberg (1985)

    Book  MATH  Google Scholar 

  11. Ehrig, H., Mahr, B.: Algebraic techniques in software development: A review of progress up to the mid nineties. In: Current Trends in Theoretical Computer Science, pp. 134–152 (2001)

    Google Scholar 

  12. Harel, D., Kozen, D., Tiuryn, J.: Dynamic Logic. MIT Press, Cambridge (2000)

    MATH  Google Scholar 

  13. Harrison, J.: Inductive definitions: Automation and application. In: TPHOLs, pp. 200–213 (1995)

    Google Scholar 

  14. Jackson, D.: Automating first-order relational logic. In: Proceedings of the 8th ACM SIGSOFT Symposium, pp. 130–139. ACM Press, New York (2000)

    Google Scholar 

  15. Kuncak, V., Jackson, D.: Relational analysis of algebraic datatypes. In: Proceedings of the 13th ACM SIGSOFT Symposium (2005)

    Google Scholar 

  16. McCune, W.: Mace4 reference manual and guide (2003)

    Google Scholar 

  17. McCune, W.: Otter 3.3 reference manual (2003)

    Google Scholar 

  18. McCune, W.: Prover9 manual (April 2008)

    Google Scholar 

  19. Meng, J., Quigley, C., Paulson, L.C.: Automation for interactive proof: First prototype. Inf. Comput. 204(10), 1575–1596 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  20. Mosses, P.D.: CASL Reference Manual, The Complete Documentation of the Common Algebraic Specification Language. LNCS, vol. 2960. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  21. Owre, S., Rushby, J.M., Shankar, N.: PVS: A Prototype Verification System. In: Kapur, D. (ed.) CADE 1992. LNCS (LNAI), vol. 607, pp. 748–752. Springer, Heidelberg (1992)

    Google Scholar 

  22. Paulson, L.C.: Isabelle - A Generic Theorem Prover (with a contribution by T. Nipkow). LNCS, vol. 828. Springer, Heidelberg (1994)

    Google Scholar 

  23. Pike, L., Miner, P., Torres-Pomales, W.: Diagnosing a failed proof in fault-tolerance: A disproving challenge problem. In: DISPROVING 2006 Participants Proceedings, pp. 24–33 (2006)

    Google Scholar 

  24. Ramananandro, T.: Mondex, an electronic purse: specification and refinement checks with the Alloy model-finding method. Formal Aspects of Computing 20(1), 21–39 (2008)

    Article  Google Scholar 

  25. Reif, W.: Korrektheit von Spezifikationen und generischen Moduln. PhD thesis, Universität Karlsruhe, Germany (1991) (in German)

    Google Scholar 

  26. Reif, W., Schellhorn, G.: Theorem Proving in Large Theories. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction—A Basis for Applications, vol. III, 2. Kluwer Academic Publishers, Dordrecht (1998)

    Google Scholar 

  27. Reif, W., Schellhorn, G., Thums, A.: Flaw detection in formal specifications. In: Goré, R.P., Leitsch, A., Nipkow, T. (eds.) IJCAR 2001. LNCS (LNAI), vol. 2083, pp. 642–657. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  28. Schellhorn, G.: Verification of Abstract State Machines. PhD thesis, Universität Ulm, Fakultät für Informatik (1999), www.informatik.uni-augsburg.de/swt/Publications.htm

    Google Scholar 

  29. Slaney, J.K.: Finder: Finite domain enumerator - system description. In: CADE, pp. 798–801 (1994)

    Google Scholar 

  30. Stenzel, K.: A formally verified calculus for full Java Card. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 491–505. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  31. Thums, A.: Fehlersuche in Formalen Spezifikationen. Master’s thesis, Universität Ulm, Germany (1998) (in German)

    Google Scholar 

  32. Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  33. Weber, T.: SAT-based Finite Model Generation for Higher-Order Logic. PhD thesis, Institut für Informatik, Technische Universität München, Germany (April 2008)

    Google Scholar 

  34. zChaff SAT solver, http://www.princeton.edu/chaff/zchaff.html

  35. Zhang, J., Zhang, H.: Sem: a system for enumerating models. In: IJCAI, pp. 298–303 (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dunets, A., Schellhorn, G., Reif, W. (2008). Automating Algebraic Specifications of Non-freely Generated Data Types. In: Cha, S.(., Choi, JY., Kim, M., Lee, I., Viswanathan, M. (eds) Automated Technology for Verification and Analysis. ATVA 2008. Lecture Notes in Computer Science, vol 5311. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88387-6_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88387-6_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88386-9

  • Online ISBN: 978-3-540-88387-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics