01 Introduction Formal Methods - pptx-3
01 Introduction Formal Methods - pptx-3
Formal Methods
Dr. Sidra Sultana
1
Course Objectives
The main Objective is to answer and question the
following
1. Why we need formal verification methods?
2. What is model checking and how to use it?
3. How Theorem Proving is useful?
2
Course Outlines: Topics
• Introduction to Formal Methods: Motivation
and Industrial Usage
• Propositional Logic
• Predicate Logic
• Higher Order Logic and HOL System
• Automata and Temporal Logic
• Model Checking
• Uppaal: Model Checker
3
What is “Formal Methods”?
"Formal Methods refers to mathematically rigorous
techniques and tools for the specification, design
and verification of software and hardware systems.”
Source:
https://shemesh.larc.nasa.gov/fm/fm-what.html
4
Why to use formal methods?
• Improve quality of Software System
• Fitness for purpose
• Ease of construction
• Higher confidence in software product
• Reveal ambiguity, incompleteness, and
inconsistency in system
• Detect design flaws (before implementation)
• Determine correctness
5
Motivation !
6
7
Impact of Pentium Bug
• The Pentium FDIV bug was a computer bug
that affected the floating point unit
• In December 1994, Intel recalled the defective
processors
• Loss of $475 million with replacement of the
flawed processors
• Goodwill of the producer at stack !
8
Safety Critical Systems
A Software failure may result in disastrous situations!
9
Faulty Systems Proved Lethal
10
Software Dependence
• Software are increasing used in the safety critical
systems
11
What to do?
• Introduce FM into existing systems
– Verify critical properties
– Facilitate maintenance and reimplementation
• Introduce FM into new systems
– Capture requirements precisely
– Reduce ambiguity
– Guide software development process
– Basis for testing
– Formalize requirements analysis and design
12
Quote
“Formal methods have finally come of age! Specification
languages, theorem provers, and model checkers are
beginning to be used routinely in industry. Mathematical
logic is basic to all of these techniques.”
Edmund M. Clarke
(Turing Award-2007)
13
About Instructor
14
Home Assignment
• Share one accident/ incident caused due to
software failure
• Discuss the reason, why it is interesting?
• Deadline: Wednesday, 7th Feb., 2025
15
About the Course & Text Book
Class Schedule
Wednesday, Thursday & Friday (Check
time-table:)
Consult course page on LMS/CMS/FB for
Lecture Notes, Quizzes, Assignments & Term
Project
Text Book:
• Jiacun Wang, William Tepfenhart, Formal
Methods in Computer Science. Chapman and
Hall/CRC (Second Ed.)Published July 3, 2019
16
Reference Books
17
Assessment Plan
• Assessment (Tentative)
• 10% Quizzes (05 at-least)
• 10% Assignments (03 at-least)
• 10% Project
• 30% MSE
• 40% Final Exam-ESE
18
Assignment/Project Policy
• In order to develop comprehensive understanding
of the subject, assignments will be given. Late
assignments (by up to 2 days) will be accepted but
discouraged as per the following formula:
20
Quiz Policy
• Quiz may be unannounced (Be read for
surprise)
• Quizzes will be 5-6 during semester. No
“Best-of” method
• Missed quiz will not be retaken (advantage for
students with 100% attendance)
• Preparing lecture daily will keep your prepared
for a quiz
21
Questions & Ideas?
Thank You!
22