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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
These values are obtained empirically, refining possibly bigger values that might ensure the proof is found.
References
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)
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
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)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)
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
Futatsugi, K., Diaconescu, R.: CafeOBJ Report. AMAST Series. World Scientific, Singapore (1998)
Futatsugi, K., Gâinâ, D., Ogata, K.: Principles of proof scores in CafeOBJ. Theoret. Comput. Sci. 464, 90–112 (2012)
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
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)
Gazzola, L., Micucci, D., Mariani, L.: Automatic software repair: a survey. IEEE Trans. Software Eng. 45(1), 34–67 (2019)
Huet, G., Kahn, G., Paulin-Mohring, C.: The Coq proof assistant: a tutorial: version 7.2. Technical report 256, INRIA (2002)
Lowe, G.: An attack on the needham-schroeder public-key authentication protocol. Inf. Process. Lett. 56(3), 131–133 (1995)
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)
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
Riesco, A., Ogata, K.: Prove it! Inferring formal proof scripts from CafeOBJ proof scores. ACM Trans. Software Eng. Methodol. 27(2) (2018)
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
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
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)