Skip to main content

CiMPG+F: A Proof Generator and Fixer-Upper for CafeOBJ Specifications

  • Conference paper
  • First Online:
Theoretical Aspects of Computing – ICTAC 2020 (ICTAC 2020)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12545))

Included in the following conference series:

Abstract

CafeOBJ is a language for writing formal specifications of software and hardware systems. It implements equational logic by rewriting and has been used to verify properties of systems using both proof scores and theorem proving. In this paper, we present CiMPG+F, an extension of the CafeInMaude interpreter that, for a large class of CafeOBJ specifications, (i) generates complete proofs from scratch and (ii) fixes incomplete proof scores. CiMPG+F allowed us to prove from scratch the correctness of different protocols, giving us confidence in the approach.

Research partially supported by the Japanese project KAKEN 19H04082, the Spanish projects TIN2015-67522-C3-3-R, PID2019-108528RB-C22, and the Comunidad de Madrid as part of the program S2018/TCS-4339 (BLOQUES-CM) co-funded by EIE Funds of the European Union.

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 EPUB and 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

Notes

  1. 1.

    Modules with tight semantics have a single model (the initial model), which is unique up to isomorphism. On the other hand, modules with loose semantics indicate that many different implementations (models) for the sorts and operators in the specification satisfy the given axioms.

  2. 2.

    These values are obtained empirically, refining possibly bigger values that might ensure the proof is found.

References

  1. Alrajeh, D., Kramer, J., Russo, A., Uchitel, S.: Elaborating requirements using model checking and inductive learning. IEEE Trans. Software Eng. 39(3), 361–383 (2013)

    Article  Google Scholar 

  2. Astesiano, E., Kreowski, H.-J., Krieg-Brueckner, B. (eds.): Algebraic Foundations of Systems Specification, 1st edn. Springer, Heidelberg (1999). https://doi.org/10.1007/978-3-642-59851-7

    Book  MATH  Google Scholar 

  3. Bartlett, K.A., Scantlebury, R.A., Wilkinson, P.T.: A note on reliable full-duplex transmission over half-duplex links. Commun. ACM 12(5), 260–261 (1969)

    Article  Google Scholar 

  4. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)

    MATH  Google Scholar 

  5. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71999-1

    Book  MATH  Google Scholar 

  6. Futatsugi, K., Diaconescu, R.: CafeOBJ Report. AMAST Series. World Scientific, Singapore (1998)

    Google Scholar 

  7. Futatsugi, K., Gâinâ, D., Ogata, K.: Principles of proof scores in CafeOBJ. Theoret. Comput. Sci. 464, 90–112 (2012)

    Article  MathSciNet  Google Scholar 

  8. Găină, D., Lucanu, D., Ogata, K., Futatsugi, K.: On automation of OTS/CafeOBJ method. In: Iida, S., Meseguer, J., Ogata, K. (eds.) Specification, Algebra, and Software. LNCS, vol. 8373, pp. 578–602. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54624-2_29

    Chapter  Google Scholar 

  9. Gâinâ, D., Tutu, I., Riesco, A.: Specification and verification of invariant properties of transition systems. In: 25th Asia-Pacific Software Engineering Conference, APSEC 2018, pp. 99–108. IEEE (2018)

    Google Scholar 

  10. Gazzola, L., Micucci, D., Mariani, L.: Automatic software repair: a survey. IEEE Trans. Software Eng. 45(1), 34–67 (2019)

    Article  Google Scholar 

  11. Huet, G., Kahn, G., Paulin-Mohring, C.: The Coq proof assistant: a tutorial: version 7.2. Technical report 256, INRIA (2002)

    Google Scholar 

  12. Lowe, G.: An attack on the needham-schroeder public-key authentication protocol. Inf. Process. Lett. 56(3), 131–133 (1995)

    Article  Google Scholar 

  13. Nakano, M., Ogata, K., Nakamura, M., Futatsugi, K.: Creme: an automatic invariant prover of behavioral specifications. Int. J. Software Eng. Knowl. Eng. 17(6), 783–804 (2007)

    Article  Google Scholar 

  14. Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9

  15. Riesco, A., Ogata, K.: Prove it! Inferring formal proof scripts from CafeOBJ proof scores. ACM Trans. Software Eng. Methodol. 27(2) (2018)

    Google Scholar 

  16. Riesco, A., Ogata, K., Futatsugi, K.: A maude environment for CafeOBJ. Formal Aspects Comput. 29(2), 309–334 (2016). https://doi.org/10.1007/s00165-016-0398-7

    Article  MATH  Google Scholar 

  17. Weidenbach, C., Dimova, D., Fietzke, A., Kumar, R., Suda, M., Wischnewski, P.: SPASS Version 3.5. In: Schmidt, R.A. (ed.) CADE 2009. LNCS (LNAI), vol. 5663, pp. 140–145. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02959-2_10

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Adrián Riesco or Kazuhiro Ogata .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Riesco, A., Ogata, K. (2020). CiMPG+F: A Proof Generator and Fixer-Upper for CafeOBJ Specifications. In: Pun, V.K.I., Stolz, V., Simao, A. (eds) Theoretical Aspects of Computing – ICTAC 2020. ICTAC 2020. Lecture Notes in Computer Science(), vol 12545. Springer, Cham. https://doi.org/10.1007/978-3-030-64276-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-64276-1_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-64275-4

  • Online ISBN: 978-3-030-64276-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics