Abstract
I have previously described an introductory Maude-based formal methods course in Oslo. In this paper, I describe a follow-up “advanced” rewriting-logic-based formal methods course. It consists of three assignments, a few theoretical topics, and a number of topics for student presentations that should illustrate the wide range of domains in which formal methods, including rewriting logic, have been successfully applied. I describe the course content, and evaluate the different topics based on my own impressions, exams, and student feedback.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Parts of the book not taught to second-year students are marked with ‘\( ^*\)’.
References
Aceto, L., Ingólfsdóttir, A., Larsen, K.G., Srba, J.: Teaching concurrency: Theory in practice. In: Proceedings of Teaching Formal Methods 2009. LNCS, vol. 5846. Springer, Berlin (2009)
Agha, G.A., Meseguer, J., Sen, K.: PMaude: Rewrite-based specification language for probabilistic object systems. Electr. Notes Theor. Comput. Sci. 153(2) (2006)
AlTurki, M., Meseguer, J.: PVeStA: A parallel statistical model checking and quantitative analysis tool. In: CALCO’11, LNCS, vol. 6859. Springer, Berlin (2011)
Bartocci, E., Falcone, Y., Francalanza, A., Reger, G.: Introduction to runtime verification. In: Lectures on Runtime Verification: Introductory and Advanced Topics, LNCS, vol. 10457, pp. 1–33. Springer, Berlin (2018)
Basin, D.A., Cremers, C., Dreier, J., Sasse, R.: Tamarin: verification of large-scale, real-world, cryptographic protocols. IEEE Secur. Priv. 20(3), 24–32 (2022)
Basin, D.A., Sasse, R., Toro-Pozo, J.: The EMV standard: break, fix, verify. In: 42nd IEEE Symposium on Security and Privacy, SP 2021. IEEE (2021)
Bentea, L., Ölveczky, P.C., Bentea, E.: Using probabilistic strategies to formalize and compare \(\alpha \)-synuclein aggregation and propagation under different scenarios. In: Proceedings of Computational Methods in Systems Biology (CMSB’13). LNCS, vol. 8130. Springer, Berlin (2013)
Bobba, R., Grov, J., Gupta, I., Liu, S., Meseguer, J., Ölveczky, P.C., Skeirik, S.: Survivability: design, formal modeling, and validation of cloud storage systems using Maude. In: Assured Cloud Computing, Chap. 2, pp. 10–48. Wiley-IEEE Computer Society Press (2018)
Cerone, A., et al.: Rooting formal methods within higher education curricula for computer science and software engineering: A white paper. In: Proceedings of FMfun 2019, First International Workshop on Formal Methods—Fun for Everybody. Communications in Computer and Information Science (CCIS), vol. 1301. Springer, Berlin (2020)
Chen, X., Rosu, G.: The K vision for the future of programming language design and analysis. In: Formal Methods in Outer Space: Essays Dedicated to Klaus Havelund on the Occasion of His 65th Birthday. Lecture Notes in Computer Science, vol. 13065, pp. 3–9. Springer, Berlin (2021)
Clavel, M., Durán, F., Eker, S., Escobar, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Rubio, R., Talcott, C.: Maude Manual (Version 3.3.1) (2023). http://maude.cs.illinois.edu
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude, LNCS, vol. 4350. Springer, Berlin (2007)
Eker, S., Knapp, M., Laderoute, K., Lincoln, P., Talcott, C.L.: Pathway logic: Executable models of biological networks. In: Proceedings of WRLA 2002. Electronic Notes in Theoretical Computer Science, vol. 71, pp. 144–161. Elsevier (2002)
Ellison, C., Rosu, G.: An executable formal semantics of C with applications. In: Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, pp. 533–544. ACM (2012)
Garcia-Luna-Aceves, J., Zhang, Y.: Reliable broadcasting in dynamic networks. In: Proceedings of IEEE ICC. IEEE (1996)
Hildenbrandt, E., Saxena, M., Rodrigues, N., Zhu, X., Daian, P., Guth, D., Moore, B.M., Park, D., Zhang, Y., Stefanescu, A., Rosu, G.: KEVM: A complete formal semantics of the ethereum virtual machine. In: 31st IEEE Computer Security Foundations Symposium, CSF 2018, pp. 204–217. IEEE Computer Society (2018)
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theor. Comput. Sci. 96, 73–155 (1992)
Meseguer, J., Sasse, R., Wang, H.J., Wang, Y.: A systematic approach to uncover security flaws in GUI logic. In: 2007 IEEE Symposium on Security and Privacy (S &P 2007). IEEE Computer Society (2007)
Newcombe, C., Rath, T., Zhang, F., Munteanu, B., Brooker, M., Deardeuff, M.: How Amazon Web Services uses formal methods. Commun. ACM 58(4), 66–73 (2015)
Ölveczky, P.C.: Semantics, simulation, and formal analysis of modeling languages for embedded systems in Real-Time Maude. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Talcott Festschrift, Lecture Notes in Computer Science, vol. 7000, pp. 368–402. Springer, Berlin (2011)
Ölveczky, P.C.: Real-Time Maude and its applications. In: WRLA 2014. LNCS, vol. 8663. Springer, Berlin (2014)
Ölveczky, P.C.: Teaching formal methods for fun using Maude. In: Proceedings of FMfun 2019, First International Workshop on Formal Methods—Fun for Everybody. Communications in Computer and Information Science (CCIS), vol. 1301, pp. 58–91. Springer, Berlin (2020)
Ölveczky, P.C., Meseguer, J.: Semantics and pragmatics of Real-Time Maude. Higher-Order Symbolic Comput. 20(1–2), 161–196 (2007)
Ölveczky, P.C., Meseguer, J.: The Real-Time Maude tool. In: Proceedings of TACAS’08. LNCS, vol. 4963. Springer, Berlin (2008)
Ölveczky, P.C.: Formalizing and validating the P-Store replicated data store in Maude. In: Proceedings of WADT’16. LNCS, vol. 10644. Springer, Berlin (2016)
Ölveczky, P.C.: Designing Reliable Distributed Systems: A Formal Methods Approach Based on Executable Modeling in Maude. Undergraduate Topics in Computer Science. Springer, Berlin (2017)
Ölveczky, P.C.: Teaching formal methods to undergraduate students using Maude. In: Rewriting Logic and Its Applications (WRLA@ETAPS 2022). LNCS, vol. 13252. Springer, Berlin (2022)
Roggenbach, M., Cerone, A., Schlingloff, B., Schneider, G., Shaikh, S.A.: Formal Methods for Software Engineering: Languages, Methods, Application Domains. Texts in Theoretical Computer Science. An EATCS Series. Springer, Berlin (2022)
Rosu, G., Havelund, K.: Rewriting-based techniques for runtime verification. Autom. Softw. Eng. 12(2), 151–197 (2005)
Schiper, N., Sutra, P., Pedone, F.: P-Store: Genuine partial replication in wide area networks. In: 29th IEEE Symposium on Reliable Distributed Systems (SRDS 2010), pp. 214–224. IEEE Computer Society (2010)
Acknowledgments
I thank the anonymous WRLA 2024 reviewers for their insightful comments on a previous version of this paper, and I gratefully acknowledge financial support by the NATO Science for Peace and Security Programme through grant number G6133 (project SymSafe).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Ölveczky, P.C. (2024). Teaching an Advanced Maude-Based Formal Methods Course in Oslo. In: Ogata, K., Martí-Oliet, N. (eds) Rewriting Logic and Its Applications. WRLA 2024. Lecture Notes in Computer Science, vol 14953. Springer, Cham. https://doi.org/10.1007/978-3-031-65941-6_11
Download citation
DOI: https://doi.org/10.1007/978-3-031-65941-6_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-65940-9
Online ISBN: 978-3-031-65941-6
eBook Packages: Computer ScienceComputer Science (R0)