mathematical model checking for computer science education
play

MATHEMATICAL MODEL CHECKING FOR COMPUTER SCIENCE EDUCATION Wolfgang - PowerPoint PPT Presentation

MATHEMATICAL MODEL CHECKING FOR COMPUTER SCIENCE EDUCATION Wolfgang Schreiner Research Institute for Symbolic Computation (RISC) Johannes Kepler University Linz, Austria Formal Modeling&Reasoning in Education Typically still presented as


  1. MATHEMATICAL MODEL CHECKING FOR COMPUTER SCIENCE EDUCATION Wolfgang Schreiner Research Institute for Symbolic Computation (RISC) Johannes Kepler University Linz, Austria

  2. Formal Modeling&Reasoning in Education Typically still presented as “paper and pencil” topics. 1/23

  3. Formal Modeling&Reasoning in Education But today the educational process can be substantially supported by software . 2/23

  4. Projects LOGTECHEDU and SemTech � LOGTECHEDU: Logic Technologies for Computer Science Education. � JKU LIT (Linz Institute of Technology), 2018–2020. � Institutes FMV (Biere, Cerna, Seidl) and RISC (Schreiner, Windsteiger). � ❤tt♣✿✴✴❢♠✈✳❥❦✉✳❛t✴❧♦❣t❡❝❤❡❞✉ � SemTech: Semantic Technologies for Computer Science Education. � Austrian OEAD WTZ and Slovak SRDA, 2018–2019. � JKU Linz (Schreiner) and TU Kosice (Novitzká, Steingartner). � ❤tt♣s✿✴✴✇✇✇✳r✐s❝✳❥❦✉✳❛t✴♣r♦❥❡❝ts✴❙❡♠❚❡❝❤ Investigate the potential of formal modeling&reasoning software for education. 3/23

  5. Educating with the Help of Formal Models � Today much of modeling&reasoning can be automated by computer software. � Substantial advances in computational logic (automated reasoning, model checking, satisfiability solving). � By the application of such software education may be supported. � May demonstrate the practical usefulness of theory. � May increase the motivation of students to model and to reason. � The ultimate goal is self-directed learning. � Teachers become “enablers” by providing basic knowledge and skills. � Students “educate themselves” by solving problems. • (Voluntary) quizzes, (mandatory) assignments, possibly (graded) exams. Core idea: let students actively engage with lecturing material by solving concrete problems and by receiving immediate feedback from the software. 4/23

  6. Research Strands � Solver Guided Exercises (Limboole, Boolector) � Teaching Solver Technology (Limboole, Boolector) � Proof Assistants for Education (Theorema, AXolotl) � Specification and Verification Systems for Education (RISCAL) � Formal Semantics of Programming Languages ( J ane ) � Logic across the Subjects in Primary, Secondary and Higher Education Various aspects of the general idea. 5/23

  7. Example: AXolotl Author: David Cerna; Google Play Store (search for “AXolotl Logic Software”) � � � Proving on a smartphone by a purely touch-based interface (no keyboard input). 6/23

  8. The RISC Algorithm Language (RISCAL) A language and software system for investigating finite mathematical models (i.e., a “mathematical model checker”). � Formulation of mathematical theories and theorems. � Formulation and specification of (also non-deterministic) algorithms. � Rooted in strongly typed first order logic and set theory. � All types are finite (with sizes determined by model parameters). � All formulas are automatically decidable. � Correctness of all algorithms is decidable. � Automatic generation of (again decidable) verification conditions. Checking in some model of fixed size before proving in models of arbitrary size. 7/23

  9. The RISCAL Software ❤tt♣s✿✴✴✇✇✇✳r✐s❝✳❥❦✉✳❛t✴r❡s❡❛r❝❤✴❢♦r♠❛❧✴s♦❢t✇❛r❡✴❘■❙❈❆▲ 8/23

  10. Theories and Theorems First-order logic, integers, tuples/records, arrays/maps, sets, algebraic types. 9/23

  11. Declarative Algorithms Functions, predicates, implicitly defined constants and functions. 10/23

  12. Imperative Algorithms Procedures, variables, loops. 11/23

  13. Transition Systems Nondeterministic systems defined by initial state condition and next state relation. 12/23

  14. RISCAL Checking ❯s✐♥❣ ◆❂✷✳ ❚②♣❡ ❝❤❡❝❦✐♥❣ ❛♥❞ tr❛♥s❧❛t✐♦♥ ❝♦♠♣❧❡t❡❞✳ ✳✳✳ ❊①❡❝✉t✐♥❣ ♥♦t❱❛❧✐❞✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✶✶✶ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ❊①❡❝✉t✐♥❣ ❉P▲▲✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✶✷✶✾ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ❊①❡❝✉t✐♥❣ ❉P▲▲✷✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ✹✸✺ ✐♥♣✉ts ✭✹✸✺ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✱ ✵ ✐❣♥♦r❡❞✮✳✳✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✷✹✸✻ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ❊①❡❝✉t✐♥❣ ❉P▲▲❴❖✉t♣✉t❈♦rr❡❝t✭❙❡t❬❙❡t❬ Z ❪❪✮ ✇✐t❤ s❡❧❡❝t❡❞ ✺✶✷ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❙❊▲❊❈❚❊❉ ✐♥♣✉ts ✭✻✵✾ ♠s✱ ✺✶✷ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ Automatic checking of theorems, algorithms, generated verification conditions. 13/23

  15. Application: Mathematical Modeling ❊①❡❝✉t✐♥❣ ❊①✐sts✶✭ Z ✱❙❡t❬❆rr❛②❬ Z ❪❪✮ ✇✐t❤ ❛❧❧ ✼✻✽ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❆▲▲ ✐♥♣✉ts ✭✹✸✶✶ ♠s✱ ✼✻✽ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ❊①❡❝✉t✐♥❣ ❊①✐sts✷✭ Z ✱❙❡t❬❆rr❛②❬ Z ❪❪✮ ✇✐t❤ ❛❧❧ ✼✻✽ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❆▲▲ ✐♥♣✉ts ✭✶✻✼✹ ♠s✱ ✼✻✽ ❝❤❡❝❦❡❞✱ ✵ ✐♥❛❞♠✐ss✐❜❧❡✮✳ Validating conjectures (respectively the formalization of theorems). 14/23

  16. Application: Specifying and Verifying Algorithms � ❊①❡❝✉t✐♥❣ ❣❝❞♣✭ Z ✱ Z ✮ ✇✐t❤ ❛❧❧ ✶✷✶ ✐♥♣✉ts✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❆▲▲ ✐♥♣✉ts ✭✶✼✷ ♠s✱ ✶✷✵ ❝❤❡❝❦❡❞✱ ✶ ✐♥❛❞♠✐ss✐❜❧❡✮✳ ✳✳✳ ❊①❡❝✉t✐♥❣ ❴❣❝❞♣❴✺❴Pr❡❖♣✸✭ Z ✱ Z ✮ ✇✐t❤ ❛❧❧ ✶✷✶ ✐♥♣✉ts✳ ✽✼ ✐♥♣✉ts ✭✽✻ ❝❤❡❝❦❡❞✱ ✶ ✐♥❛❞♠✐ss✐❜❧❡✱ ✵ ✐❣♥♦r❡❞✮✳✳✳ ❊①❡❝✉t✐♦♥ ❝♦♠♣❧❡t❡❞ ❢♦r ❆▲▲ ✐♥♣✉ts ✭✷✽✹✸ ♠s✱ ✶✷✵ ❝❤❡❝❦❡❞✱ ✶ ✐♥❛❞♠✐ss✐❜❧❡✮✳ Validating algorithms, their specification, annotations, verification conditions. 15/23

  17. RISCAL Approach to Model Checking/Formula Decision ComSem := Single + Multiple Single := Command → ( Context → Context ) Multiple := Command → ( Context → Seq ( Context )) Seq ( T ) := Unit → ( Null + Next ( T, Seq ( T ))) [ . ] : ❈♦♠♠❛♥❞ → Single [ ✐❢ E t❤❡♥ C ] := λc. ✐❢ [ E ] ( c ) t❤❡♥ [ C ] ( c ) ❡❧s❡ c ✐♥t❡r❢❛❝❡ ❈♦♠❙❡♠ ④ ♣✉❜❧✐❝ ✐♥t❡r❢❛❝❡ ❙✐♥❣❧❡ ❡①t❡♥❞s ❈♦♠❙❡♠✱ ❋✉♥❝t✐♦♥❁❈♦♥t❡①t✱❈♦♥t❡①t❃ ④ ⑥ ♣✉❜❧✐❝ ✐♥t❡r❢❛❝❡ ▼✉❧t✐♣❧❡ ❡①t❡♥❞s ❈♦♠❙❡♠✱ ❋✉♥❝t✐♦♥❁❈♦♥t❡①t✱❙❡q❁❈♦♥t❡①t❃ ❃ ④ ⑥ ⑥ ✐♥t❡r❢❛❝❡ ❙❡q❁❚❃ ❡①t❡♥❞s ❙✉♣♣❧✐❡r❁❙❡q✳◆❡①t❁❚❃ ❃ ④ ✳✳✳ ⑥ ❈♦♠❙❡♠✳❙✐♥❣❧❡ ✐❢❚❤❡♥❊❧s❡✭❇♦♦❧❊①♣❙❡♠✳❙✐♥❣❧❡ ❊✱ ❈♦♠❙❡♠✳❙✐♥❣❧❡ ❈✮ ④ r❡t✉r♥ ✭❈♦♥t❡①t ❝✮ ✲❃ ❊✳❛♣♣❧②✭❝✮ ❄ ❈✳❛♣♣❧②✭❝✮ ✿ ❝❀ ⑥ Translation of every RISCAL phrase to its (potentially nondeterministic) semantics 16/23 and the execution of this semantics.

  18. RISCAL Formula Decision (Experimental Alternative) ✭s❡t✲❧♦❣✐❝ ◗❋❴❯❋❇❱✮ ✭❞❡❝❧❛r❡✲❢✉♥ ①✭✮ ✭❴ ❇✐t❱❡❝ ✹✮✮ ✭❞❡❢✐♥❡✲❢✉♥ ②✭✮ ✭❴ ❇✐t❱❡❝ ✹✮★❜✵✵✵✶✮ ✭❛ss❡rt ✭♥♦t ✭❜✈✉❧❡ ① ✭❜✈❛❞❞ ① ②✮✮✮✮ ✭❝❤❡❝❦✲s❛t✮ ✭❡①✐t✮ � Translation of RISCAL theory to SMT-LIB. � Author: Franz-Xaver Reichl (master thesis). � QF_UFBV: quantifier-free formulas over bitvectors with uninterpreted functions. � Well supported by various SMT solvers: Boolector, Z3, Yices, CVC4, . . . � Elimination of quantifiers by skolemization and expansion. � Translation of integers, tuples/records, arrays/maps, sets, . . . to bit vectors. • Non-trivial because, e.g., RISCAL uses “true” mathematical integers. Much faster in many (not all) cases, systematic benchmarks under way. 17/23

  19. RISCAL Visualization Pruned evaluation trees to explain the truth value of a formula. 18/23

Recommend


More recommend