Skip to main content

Towards the Formal Specification and Verification of Maple Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 7362))

Abstract

In this paper, we present our ongoing work and initial results on the formal specification and verification of MiniMaple (a substantial subset of Maple with slight extensions) programs. The main goal of our work is to find behavioral errors in such programs w.r.t. their specifications by static analysis. This task is more complex for widely used computer algebra languages like Maple as these are fundamentally different from classical languages: they support non-standard types of objects such as symbols, unevaluated expressions and polynomials and require abstract computer algebraic concepts and objects such as rings and orderings etc. As a starting point we have defined and formalized a syntax, semantics, type system and specification language for MiniMaple.

The research was funded by the Austrian Science Fund (FWF): W1214-N15, project DK10.

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. Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# Programming System: An Overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Baudin, P., Filliâtre, J.C., Hubert, T., Marché, C., Monate, B., Moy, Y., Prevosto, V.: ACSL: ANSI C Specification Language (preliminary design V1.2), preliminary edn. (May 2008)

    Google Scholar 

  3. Bobot, F., Filliâtre, J.-C., Marché, C., Paskevich, A.: Why3: Shepherd your herd of provers. In: Boogie 2011: First International Workshop on Intermediate Verification Languages, Wrocław, Poland (August 2011)

    Google Scholar 

  4. Cardelli, L.: Type Systems. In: Tucker, A.B. (ed.) The Computer Science and Engineering Handbook, pp. 2208–2236. CRC Press (1997)

    Google Scholar 

  5. Carette, J., Forrest, S.: Mining Maple Code for Contracts. In: Ranise, S., Bigatti, A. (eds.) Calculemus. Electronic Notes in Theoretical Computer Science. Elsevier (2006)

    Google Scholar 

  6. Carette, J., Kucera, M.: Partial Evaluation of Maple. In: Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, PEPM 2007, pp. 41–50. ACM Press (2007)

    Google Scholar 

  7. Dönch, C.: Bivariate Difference-Differential Dimension Polynomials and Their Computation in Maple. Technical report, Research Institute for Symbolic Computation, Johannes Kepler University, Linz (2009)

    Google Scholar 

  8. D’Silva, V., Kroening, D., Weissenbacher, G.: A Survey of Automated Techniques for Formal Software Verification. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 27(7), 1165–1178 (2008)

    Article  Google Scholar 

  9. Dunstan, M., Kelsey, T., Linton, S., Martin, U.: Lightweight Formal Methods For Computer Algebra Systems. In: International Symposium on Symbolic and Algebraic Computation, ISSAC 1998, pp. 80–87. ACM Press (1998)

    Google Scholar 

  10. Leavens, G.T., Cheon, Y.: Design by Contract with JML. A Tutorial (2006), ftp://ftp.cs.iastate.edu/pub/leavens/JML/jmldbc.pdf

  11. Guttag, J.V., Horning, J.J., Garl, W.J., Jones, K.D., Modet, A., Wing, J.M.: Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science. Springer (1993)

    Google Scholar 

  12. Hudak, P.: The Haskell School of Expression: Learning Functional Programming through Multimedia. Cambridge University Press (June 2000)

    Google Scholar 

  13. Foster, J.S., Furr, M., An, J.-H., Hicks, M.: Static Type Inference for Ruby. In: Proceedings of the 24th Annual ACM Symposium on Applied Computing, OOPS Track, Honolulu, HI (2009)

    Google Scholar 

  14. Khan, M.T.: A Type Checker for MiniMaple. RISC Technical Report 11-05, also DK Technical Report 2011-05, Research Institute for Symbolic Computation, Johannes Kepler University, Linz (2011)

    Google Scholar 

  15. Khan, M.T.: Formal Semantics of MiniMaple. DK Technical Report 2012-01, Research Institute for Symbolic Computation, Johannes Kepler University, Linz (January 2012)

    Google Scholar 

  16. Khan, M.T., Schreiner, W.: On Formal Specification of Maple Programs. In: Conferences on Intelligent Computer Mathematics, Systems and Projects Track (submitted, 2012)

    Google Scholar 

  17. Monagan, M.B.: Gauss: A Parameterized Domain of Computation System with Support for Signature Functions. In: Miola, A. (ed.) DISCO 1993. LNCS, vol. 722, pp. 81–94. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  18. Schmidt, D.A.: Denotational Semantics: a methodology for language development. William C. Brown Publishers, Dubuque (1986)

    Google Scholar 

  19. Schreiner, W.: A Program Calculus. Technical report, Research Institute for Symbolic Computation (RISC), Johannes Kepler University, Linz, Austria (September 2008)

    Google Scholar 

  20. Boulmé, S., Hardin, T., Hirschkoff, D., Ménissier-Morain, V., Rioboo, R.: On the Way to Certify Computer Algebra Systems. In: Proceedings of the Calculemus Workshop of FLOC 1999 (Federated Logic Conference, Trento, Italie). ENTCS, vol. 23, pp. 370–385. Elsevier (1999)

    Google Scholar 

  21. Lambert, T., Lindsay, P., Robinson, K.: Using Miranda as a First Programming Language. Journal of Functional Programming 3(1), 5–34 (1993)

    Article  Google Scholar 

  22. Zhou, M., Winkler, F.: Computing Difference-Differential Dimension Polynomials by Relative Gröbner Bases in Difference-Differential Modules. Journal of Symbolic Computation 43(10), 726–745 (2008)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Khan, M.T., Schreiner, W. (2012). Towards the Formal Specification and Verification of Maple Programs. In: Jeuring, J., et al. Intelligent Computer Mathematics. CICM 2012. Lecture Notes in Computer Science(), vol 7362. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31374-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-31374-5_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-31373-8

  • Online ISBN: 978-3-642-31374-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics