Write, review, and validate formal specifications of system designs, state machines, protocols, and algorithms using the Alloy 6 modeling language (more details)
Write, review, and validate formal specifications of system designs, state machines, protocols, and algorithms using the Alloy 6 modeling language
Write JML (Java Modeling Language) specifications for Java programs and verify them using OpenJML. Covers the full workflow: writing specs, running static verification (ESC) and runtime assertion checking (RAC), interpreting verification results, and debugging failures. (more details)
Write JML (Java Modeling Language) specifications for Java programs and verify them using OpenJML. Covers the full workflow: writing specs, running static verification (ESC) and runtime assertion checking (RAC), interpreting verification results, and debugging failures.
Write and verify formal TLA+ and PlusCal specifications for system designs, state machines, algorithms, and concurrent protocols. Covers invariants, temporal properties, model checking, nondeterminism, fairness, and optimization. (more details)
Formally specify and verify system designs, state machines, algorithms, and concurrent protocols using TLA+ and PlusCal. Covers invariants, temporal properties, model checking with TLC, fairness, and reporting results responsibly.