COMP4161 Advanced Topics in Software Verification - 2025
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
COMP4161 Advanced Topics in Software Verification - 2025
General Course Information
Course Code : COMP4161
Year : 2025
Term : Term 3
Course Details & Outcomes
Course Description
This course is about mechanical proof assistants, how they work, and what they can be used for. It presents specification and proof techniques used in industrial grade theorem provers, teaches the theoretical background to the techniques involved, and shows how to use a theorem prover to conduct formal proofs in practice. The courses is intended to bring third/fourth year and postgraduate students into contact with the current research topics in the field of theorem proving and automated deduction and to teach them the necessary skills to successfully use industrial grade verification environments in modelling and verification.
Topics covered included: higher order logic, natural deduction, lambda calculus, term rewriting, data types and recursive functions, induction principles, calculational reasoning, mathematical proofs, decision procedures for a variety of logical domains, and proofs about programs.
Note: experience with (first-order) logic and functional programming is required.
Course Aims
This course teaches you how to do mechanical, machine-assisted proofs---the gold standard of validation for software and mathematics. This provides exposure to an ironclad, principled way of developing safety-critical systems while knowing that you got it right. Students who have taken this course will be well equipped to work in proof engineering, or to undertake research in formal verification.
Course Learning Outcomes
|
Course Learning Outcomes |
|
CLO1 : Write definitions in the theorem prover Isabelle/HOL |
|
CLO2 : Formalise software verification problems |
|
CLO3 : Prove theorems in an interactive proof assistant |
|
CLO4 : Effectively use proof automation and automatic counter-example finding |
|
CLO5 : Formally verify functional programs |
|
CLO6 : Formally verify imperative programs, including small C programs |
|
Course Learning Outcomes |
Assessment Item |
|
CLO1 : Write definitions in the theorem prover Isabelle/HOL |
• Assignments 1, 2 and 3 • Final exam |
|
CLO2 : Formalise software verification problems |
• Assignments 1, 2 and 3 • Final exam |
|
CLO3 : Prove theorems in an interactive proof assistant |
• Assignments 1, 2 and 3 • Final exam |
|
CLO4 : Effectively use proof automation and automatic counter-example finding |
• Assignments 1, 2 and 3 • Final exam |
|
CLO5 : Formally verify functional programs |
• Assignments 1, 2 and 3 • Final exam |
|
CLO6 : Formally verify imperative programs, including small C programs |
• Assignments 1, 2 and 3 • Final exam |
2025-09-29