SlideShare a Scribd company logo
Formal Method in Software
Engineering
Lecture#1
Waqas Swati
20 February 2019
1100-1400Hrs
Introduction
MS(SE) COMSATS Islamabad
BS(CS) Arid Agriculture Rawalpindi
muhammadwaqas657@gmail.com
Teaching Methodology:
Outcome Based Education (OBE)
Grading Criteria
• Cheater never prosper
• Be faithful
Evaluation Method Marks Weightage out of 100
Lab Class Learning Outcome 30%
Final Term Exam 50%
Sessional
(Quiz, Class Participation)
20%
Course OutlineLecture# Duration Topics Covered
Week#1 03 hrs. Introduction to class and course, discussion about the course contents, reference materials grading
scheme, paper pattern, assignment, quizzes, class presentation
Week#2 03 hrs. Introduction to Software Engineering, challenges in Software engineering, Software Engineering vs
Other Engineering, Software Process Models, Software Project Management
Week#3 03 hrs. Software reliability, availability, dependability, software defects, computer security, safety critical
systems
Week#4 03 hrs. Overview of formal method, introduction, need of formal methods, industrial usage of formal
methods, industrial techniques and tools for formal methods, proofs in formal methods, model
checking, usability of formal methods
Week#5 03 hrs. Set, relation and function, introduction to set theory, computer representation of sets, relations,
types of relation, function of relations, functions and application of functions
Week#6 03 hrs. Propositional and predicate logic, introduction, proposition logic, truth tables, propositional calculus
and its proofs
Week#7 03 hrs. Introduction to Predicate calculus, sketch of formalization of predicate calculus, properties and
application of predicate calculus, limitation of propositional calculus
Week#8 03 hrs. Overview of research, How to do research, Where to start? Discussion on selecting a research topic for
research paper presentation, assignment about paper presentation, Revision of mid-term course.
(Mid-Term Exam)
Course Outline
Week#9 03 hrs. Discussion on mid-term solution and generic mistakes made by students in exam.
Week#10 03 hrs. Advanced topics in logic, temporal logic and fuzzy logic, temporal logic, logic and
artificial intelligence.
Week#11 03 hrs. Z formal specification language, introduction, sets, relations, functions, sequence,
schemas and schemas compositions, proofs in z, industrial applications of z, hands on
experience of difference use-cases.
Week#12 03 hrs. Discussion on papers presentation, issues related to presentation, dummy
presentation
Week#13 03 hrs. Model checking, introduction to model checking, Introduction to Petri-nets,
Advantages and disadvantages of low and high level petri-nets, CTL and LTL modeling
concurrent systems, linear temporal systems, computational tree logic, tools for
model checking, industrial application of model checking
Week#14 03 hrs. Industrial tools for model checking, introduction, tools for z specification, tools for
modeling checking, tools for UML, Hands on experience on tools with difference case
studies and scenarios.
Week#15 03 hrs. Formal Research Paper Presentation. On the spot analysis of work and presentation
skills.
Week#16 03 hrs. Revision and discussion about the course, feedback from the class and thorough
question answer session for final-term paper.
Course Learning Outcomes
6
Upon completion of the course, students will be able to:
 Apply the concepts of standard mathematical logic to
produce proofs or refutations of well-formed
propositions or arguments phrased in English or in a
variety of formal notations (first order logic, petri-nets
and Z).
 Write formal specifications and contracts in Z.
 Given an inductive definition of a simple data
structure, write a recursive definition of a given simple
operation on data of that type. Given some such
recursively defined operations, prove simple
properties of these functions using the appropriate
structural induction principle.
Recommended Resources
7
 Text book
Concise Guide to Formal Methods | Theory,
Fundamentals and Industry Applications
(2017, Springer International Publishing)
 Other
Understanding Formal Methods by Jean-
François Monin (2003)
Using Z Specification, Refinement, and Proof
by Jim Woodcock and Jim Davies
Introduction
 Mongolian Hordes Approach (1950)
The completed code will always be full of
defects.
The coding should be finished quickly to
correct these defects.
Design as you code approach
8
Software Failure 
 Standish Report
 Software Complication
Inherently complex
 No silver bullets to resolve the issues
 Failure
 Life, time and $$$$
9
Comparison [1995-2009]
10
What Is Software Engineering?
 IEEE 610.12
Software engineering is the application of a
systematic, disciplined, quantifiable approach
to the development, operation, and
maintenance of software; that is, the
application of engineering to software, and the
study of such approaches
Mathematics as foundation
11
Software Process Models
 The choice of a particular software
development life cycle is determined from
the particular needs of the specific project.
 The processes employed are fit for
purpose
12
Water Fall Process Model
13
Water Fall and V&V Models
14
Spiral Life Cycle Model
 Requirements Evolution
 Project spiral
Iterative based prototyping
Objectives and analysis of risk
Update to the requirements
Design
Code
Testing
User review (prototype) for each spiral
15
Spiral Life Cycle Model
 Joint Application
Model (JAD)
 Usability and look and
feel of the application
is a key concern.
 Decision makers are in
a room
 Traditionally 2
weeks/iteration
 Rapid Application
Model (RAD)
 Fixed time-frame
 Expose iteration
underdevelopment to
the end user at earlier
stage.
 Sacrifice functionality
w.r.t iteration time
 Traditionally 2-
4weeks/iteration
16
Rational Unified Process
 UML based process
 Can handle incomplete requirements
 Focus on risk analysis
17
Agile Development
 Changes are welcomed
 Infant requirement
 Strong collaboration
 Take 50% of requirement and do that
100%
18
What are Formal Methods?
 Rigorous mathematically-based
techniques and tools for the
specification, development, and
verification of software and hardware
systems.
 Unambiguous nature of mathematics
avoid problems of imprecisely worded
natural language.
19
Reading Assignment
Go through chapter 1 of “Concise Guide to
Formal Methods”
20

More Related Content

DOC
Arvind resume - Copy
PDF
Saurabh8
DOCX
TANMAY SATISH VEDAMANI res
PDF
Saurabh
DOCX
updated resumee
PPTX
The Gap Between Academic Research and Industrial Practice in Software Testing
RTF
Chetan_Resume
DOCX
Rutuja_Pimpale
Arvind resume - Copy
Saurabh8
TANMAY SATISH VEDAMANI res
Saurabh
updated resumee
The Gap Between Academic Research and Industrial Practice in Software Testing
Chetan_Resume
Rutuja_Pimpale

What's hot (20)

DOC
Sachin resume
DOCX
Ragu_Resume (1)
PDF
Ajit cv
DOC
Atheiya resume 9-14
DOCX
Pravin Arote Updated CV
PDF
Juhi Patel - CV
PPTX
Predicting Usefulness of Code Review Comments using Textual Features and Deve...
DOC
Testing Resume
ODP
Se252 Exam Prep
DOCX
Updated_chanchal_cv[1]
DOC
Murali Krishnan Narayanan_Resume
DOC
CV_ShivamChhatwalupdated
PDF
IKMTest-ResultMartinOKello4
PPT
CP 2 welcome presentation
DOCX
Nagaraju Manual,QTP intrn
PDF
ravish m
DOC
DOC
shridhar cv
DOC
freshertestingcv-130311233944-phpapp02
PPTX
Soils emerge mayo
Sachin resume
Ragu_Resume (1)
Ajit cv
Atheiya resume 9-14
Pravin Arote Updated CV
Juhi Patel - CV
Predicting Usefulness of Code Review Comments using Textual Features and Deve...
Testing Resume
Se252 Exam Prep
Updated_chanchal_cv[1]
Murali Krishnan Narayanan_Resume
CV_ShivamChhatwalupdated
IKMTest-ResultMartinOKello4
CP 2 welcome presentation
Nagaraju Manual,QTP intrn
ravish m
shridhar cv
freshertestingcv-130311233944-phpapp02
Soils emerge mayo
Ad

Similar to Fm lecture 1 updated 3 (20)

PPT
Lecture 1
PPT
lecture GDTDFYRDYRDYDYRDYRDYRDR _1_fm.ppt
PPT
formal method chapter 1 lecture_1_fm.ppt
PPTX
#1 formal methods – introduction for software engineering
PDF
Formal Method lecture_2 Software engineering.pdf
PPTX
lecture_EETRYUIOP[SADSFGHJKLTRWETRY2_fm.pptx
PPTX
Introduction to formal methods lecture notes
PPTX
Formal Specification Ian Sommerville 9th Edition
PPTX
Formal Methods lecture 01
PPS
Mca se chapter_9_formal_methods
PPT
regeeggregretgregrgrrgfergregrgregregrwgreger
PPTX
Formal Methods.pptx
PDF
Formal Methods: Whence and Whither? [Martin Fränzle Festkolloquium, 2025]
PDF
An integration of uml use case diagram and activity diagram with Z language f...
PPT
LECT3A (1).PPThhdfghdfhdfghdhdhdfsfdfgsfd
PPT
Formal Specifications in Formal Methods
PPT
On Methods for the Formal Specification of Fault Tolerant Systems
PPT
San se unit
PPS
Formal Methods
PPTX
Modern Formal Methods in Software Engineering.pptx
Lecture 1
lecture GDTDFYRDYRDYDYRDYRDYRDR _1_fm.ppt
formal method chapter 1 lecture_1_fm.ppt
#1 formal methods – introduction for software engineering
Formal Method lecture_2 Software engineering.pdf
lecture_EETRYUIOP[SADSFGHJKLTRWETRY2_fm.pptx
Introduction to formal methods lecture notes
Formal Specification Ian Sommerville 9th Edition
Formal Methods lecture 01
Mca se chapter_9_formal_methods
regeeggregretgregrgrrgfergregrgregregrwgreger
Formal Methods.pptx
Formal Methods: Whence and Whither? [Martin Fränzle Festkolloquium, 2025]
An integration of uml use case diagram and activity diagram with Z language f...
LECT3A (1).PPThhdfghdfhdfghdhdhdfsfdfgsfd
Formal Specifications in Formal Methods
On Methods for the Formal Specification of Fault Tolerant Systems
San se unit
Formal Methods
Modern Formal Methods in Software Engineering.pptx
Ad

Recently uploaded (20)

PPTX
Introduction to Windows Operating System
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
STL Containers in C++ : Sequence Container : Vector
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
chapter 5 systemdesign2008.pptx for cimputer science students
PDF
Time Tracking Features That Teams and Organizations Actually Need
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
Complete Guide to Website Development in Malaysia for SMEs
PPTX
Patient Appointment Booking in Odoo with online payment
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
Cybersecurity: Protecting the Digital World
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PDF
Types of Token_ From Utility to Security.pdf
PPTX
Custom Software Development Services.pptx.pptx
Introduction to Windows Operating System
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
How Tridens DevSecOps Ensures Compliance, Security, and Agility
STL Containers in C++ : Sequence Container : Vector
Digital Systems & Binary Numbers (comprehensive )
chapter 5 systemdesign2008.pptx for cimputer science students
Time Tracking Features That Teams and Organizations Actually Need
How to Use SharePoint as an ISO-Compliant Document Management System
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Complete Guide to Website Development in Malaysia for SMEs
Patient Appointment Booking in Odoo with online payment
Why Generative AI is the Future of Content, Code & Creativity?
Monitoring Stack: Grafana, Loki & Promtail
Cybersecurity: Protecting the Digital World
Oracle Fusion HCM Cloud Demo for Beginners
Designing Intelligence for the Shop Floor.pdf
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Types of Token_ From Utility to Security.pdf
Custom Software Development Services.pptx.pptx

Fm lecture 1 updated 3

  • 1. Formal Method in Software Engineering Lecture#1 Waqas Swati 20 February 2019 1100-1400Hrs
  • 2. Introduction MS(SE) COMSATS Islamabad BS(CS) Arid Agriculture Rawalpindi muhammadwaqas657@gmail.com Teaching Methodology: Outcome Based Education (OBE)
  • 3. Grading Criteria • Cheater never prosper • Be faithful Evaluation Method Marks Weightage out of 100 Lab Class Learning Outcome 30% Final Term Exam 50% Sessional (Quiz, Class Participation) 20%
  • 4. Course OutlineLecture# Duration Topics Covered Week#1 03 hrs. Introduction to class and course, discussion about the course contents, reference materials grading scheme, paper pattern, assignment, quizzes, class presentation Week#2 03 hrs. Introduction to Software Engineering, challenges in Software engineering, Software Engineering vs Other Engineering, Software Process Models, Software Project Management Week#3 03 hrs. Software reliability, availability, dependability, software defects, computer security, safety critical systems Week#4 03 hrs. Overview of formal method, introduction, need of formal methods, industrial usage of formal methods, industrial techniques and tools for formal methods, proofs in formal methods, model checking, usability of formal methods Week#5 03 hrs. Set, relation and function, introduction to set theory, computer representation of sets, relations, types of relation, function of relations, functions and application of functions Week#6 03 hrs. Propositional and predicate logic, introduction, proposition logic, truth tables, propositional calculus and its proofs Week#7 03 hrs. Introduction to Predicate calculus, sketch of formalization of predicate calculus, properties and application of predicate calculus, limitation of propositional calculus Week#8 03 hrs. Overview of research, How to do research, Where to start? Discussion on selecting a research topic for research paper presentation, assignment about paper presentation, Revision of mid-term course. (Mid-Term Exam)
  • 5. Course Outline Week#9 03 hrs. Discussion on mid-term solution and generic mistakes made by students in exam. Week#10 03 hrs. Advanced topics in logic, temporal logic and fuzzy logic, temporal logic, logic and artificial intelligence. Week#11 03 hrs. Z formal specification language, introduction, sets, relations, functions, sequence, schemas and schemas compositions, proofs in z, industrial applications of z, hands on experience of difference use-cases. Week#12 03 hrs. Discussion on papers presentation, issues related to presentation, dummy presentation Week#13 03 hrs. Model checking, introduction to model checking, Introduction to Petri-nets, Advantages and disadvantages of low and high level petri-nets, CTL and LTL modeling concurrent systems, linear temporal systems, computational tree logic, tools for model checking, industrial application of model checking Week#14 03 hrs. Industrial tools for model checking, introduction, tools for z specification, tools for modeling checking, tools for UML, Hands on experience on tools with difference case studies and scenarios. Week#15 03 hrs. Formal Research Paper Presentation. On the spot analysis of work and presentation skills. Week#16 03 hrs. Revision and discussion about the course, feedback from the class and thorough question answer session for final-term paper.
  • 6. Course Learning Outcomes 6 Upon completion of the course, students will be able to:  Apply the concepts of standard mathematical logic to produce proofs or refutations of well-formed propositions or arguments phrased in English or in a variety of formal notations (first order logic, petri-nets and Z).  Write formal specifications and contracts in Z.  Given an inductive definition of a simple data structure, write a recursive definition of a given simple operation on data of that type. Given some such recursively defined operations, prove simple properties of these functions using the appropriate structural induction principle.
  • 7. Recommended Resources 7  Text book Concise Guide to Formal Methods | Theory, Fundamentals and Industry Applications (2017, Springer International Publishing)  Other Understanding Formal Methods by Jean- François Monin (2003) Using Z Specification, Refinement, and Proof by Jim Woodcock and Jim Davies
  • 8. Introduction  Mongolian Hordes Approach (1950) The completed code will always be full of defects. The coding should be finished quickly to correct these defects. Design as you code approach 8
  • 9. Software Failure   Standish Report  Software Complication Inherently complex  No silver bullets to resolve the issues  Failure  Life, time and $$$$ 9
  • 11. What Is Software Engineering?  IEEE 610.12 Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software, and the study of such approaches Mathematics as foundation 11
  • 12. Software Process Models  The choice of a particular software development life cycle is determined from the particular needs of the specific project.  The processes employed are fit for purpose 12
  • 13. Water Fall Process Model 13
  • 14. Water Fall and V&V Models 14
  • 15. Spiral Life Cycle Model  Requirements Evolution  Project spiral Iterative based prototyping Objectives and analysis of risk Update to the requirements Design Code Testing User review (prototype) for each spiral 15
  • 16. Spiral Life Cycle Model  Joint Application Model (JAD)  Usability and look and feel of the application is a key concern.  Decision makers are in a room  Traditionally 2 weeks/iteration  Rapid Application Model (RAD)  Fixed time-frame  Expose iteration underdevelopment to the end user at earlier stage.  Sacrifice functionality w.r.t iteration time  Traditionally 2- 4weeks/iteration 16
  • 17. Rational Unified Process  UML based process  Can handle incomplete requirements  Focus on risk analysis 17
  • 18. Agile Development  Changes are welcomed  Infant requirement  Strong collaboration  Take 50% of requirement and do that 100% 18
  • 19. What are Formal Methods?  Rigorous mathematically-based techniques and tools for the specification, development, and verification of software and hardware systems.  Unambiguous nature of mathematics avoid problems of imprecisely worded natural language. 19
  • 20. Reading Assignment Go through chapter 1 of “Concise Guide to Formal Methods” 20

Editor's Notes

  • #7: Human factors for HCI. Computer factor for HCI
  • #9: The “Mongolian Hordes” management myth is the belief that adding more programmers to a software project that is running late will allow it to catch-up. The reality is that adding people to a late software project actually makes it later.
  • #14: Starts with requirements gathering and definition. It is followed by the system specification (with the functional and non-functional requirements), the design and implementation of the software, and comprehensive testing. The software testing generally includes unit, system and user acceptance testing. . The waterfall model is employed for projects where the requirements can be identified early in the project life cycle or are known in advance
  • #15: Right one are performed wrt left one. i.e uni testing is done by considering left one and so on.
  • #16: the requirements are not fully known at project initiation, For each design code and test risk analysis is done and review+feedback is share. This process is repeated till the project is completed.
  • #17: JAD: This is important in Web-based development and in the development of a graphical user interface (GUI). The implementation of part of the system helps in gaining a better understanding of the requirements of the system, and this feeds into subsequent development cycles. process repeats until the requirements and the software product are fully complete
  • #18: Requirements are gathered as use cases, where the use cases describe the functional requirements from the point of view of the user of the system. Use cases also drive the development process, as the developers create a series of design and implementation models that realize the use cases. The developers review each successive model for conformance to the use-case model, and the test team verifies that the implementation correctly implements the use cases.
  • #19: – Feedback and adaptation employed in decision-making – User stories and sprints are employed – Stories are either done or not done (no such thing as 50% done) – Iterative and incremental development is employed – An iteration has a fixed length (i.e. time boxing is employed) – Entire software development life cycle is employed for the implementation of each story – Change is accepted as a normal part of life in the Agile world – Delivery is made as early as possible. – Refactoring and evolutionary design Employed – Continuous integration is employed – Short cycle times – Emphasis on quality – Stand-up meetings – Plan regularly – Direct interaction preferred over documentation – Rapid conversion of requirements into working functionality – Early decision-making
  • #20: assuming the original specification is correct and the proofs of correctness of each refinement step are valid, then there is a very high degree of confidence in the correctness of the implemented software.