SlideShare a Scribd company logo
1 of 20
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

What's hot (20)

Sachin resume
Sachin resumeSachin resume
Sachin resume
 
Ragu_Resume (1)
Ragu_Resume (1)Ragu_Resume (1)
Ragu_Resume (1)
 
Ajit cv
Ajit cvAjit cv
Ajit cv
 
Atheiya resume 9-14
Atheiya resume 9-14Atheiya resume 9-14
Atheiya resume 9-14
 
Pravin Arote Updated CV
Pravin Arote Updated CVPravin Arote Updated CV
Pravin Arote Updated CV
 
Juhi Patel - CV
Juhi Patel - CVJuhi Patel - CV
Juhi Patel - CV
 
MSR2017-RevHelper
MSR2017-RevHelperMSR2017-RevHelper
MSR2017-RevHelper
 
Testing Resume
Testing ResumeTesting Resume
Testing Resume
 
Se252 Exam Prep
Se252 Exam PrepSe252 Exam Prep
Se252 Exam Prep
 
Updated_chanchal_cv[1]
Updated_chanchal_cv[1]Updated_chanchal_cv[1]
Updated_chanchal_cv[1]
 
Murali Krishnan Narayanan_Resume
Murali Krishnan Narayanan_ResumeMurali Krishnan Narayanan_Resume
Murali Krishnan Narayanan_Resume
 
CV_ShivamChhatwalupdated
CV_ShivamChhatwalupdatedCV_ShivamChhatwalupdated
CV_ShivamChhatwalupdated
 
IKMTest-ResultMartinOKello4
IKMTest-ResultMartinOKello4IKMTest-ResultMartinOKello4
IKMTest-ResultMartinOKello4
 
CP 2 welcome presentation
CP 2  welcome presentationCP 2  welcome presentation
CP 2 welcome presentation
 
Nagaraju Manual,QTP intrn
Nagaraju Manual,QTP intrnNagaraju Manual,QTP intrn
Nagaraju Manual,QTP intrn
 
ravish m
ravish mravish m
ravish m
 
Resume
ResumeResume
Resume
 
shridhar cv
shridhar cvshridhar cv
shridhar cv
 
freshertestingcv-130311233944-phpapp02
freshertestingcv-130311233944-phpapp02freshertestingcv-130311233944-phpapp02
freshertestingcv-130311233944-phpapp02
 
Soils emerge mayo
Soils emerge mayoSoils emerge mayo
Soils emerge mayo
 

Similar to Fm lecture 1 updated 3

CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).pptDHIRENDRAHUDDA
 
UNIT1_Himani Sharma.pptx
UNIT1_Himani Sharma.pptxUNIT1_Himani Sharma.pptx
UNIT1_Himani Sharma.pptxAman287268
 
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfCS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfTitoMido1
 
e3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdf
e3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdfe3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdf
e3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdfSILVIUSyt
 
InFS6830 Secure Programming Questions Page 7 of 7Essay.docx
InFS6830 Secure Programming Questions Page 7 of 7Essay.docxInFS6830 Secure Programming Questions Page 7 of 7Essay.docx
InFS6830 Secure Programming Questions Page 7 of 7Essay.docxjaggernaoma
 
Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)Minda Kronik
 
Software Architecture - Allocation taxonomies: building, deployment and distr...
Software Architecture - Allocation taxonomies: building, deployment and distr...Software Architecture - Allocation taxonomies: building, deployment and distr...
Software Architecture - Allocation taxonomies: building, deployment and distr...Jose Emilio Labra Gayo
 
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...ciyamala kushbu
 
2.9 years_Infosys_Resume-1
2.9 years_Infosys_Resume-12.9 years_Infosys_Resume-1
2.9 years_Infosys_Resume-1Prem Suvarna
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringAnwarrChaudary
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareAlessio Bucaioni
 
Dbms lab manual
Dbms lab manualDbms lab manual
Dbms lab manualArthyR3
 
Ch03-Software Engineering Model
Ch03-Software Engineering ModelCh03-Software Engineering Model
Ch03-Software Engineering ModelBala Ganesh
 
Programming in c (pokhara university)
Programming in c (pokhara university)Programming in c (pokhara university)
Programming in c (pokhara university)sangam khadka
 
Software Engineering Thesis Topics In Oxford.pptx
Software Engineering Thesis Topics In Oxford.pptxSoftware Engineering Thesis Topics In Oxford.pptx
Software Engineering Thesis Topics In Oxford.pptxDaisy Jones
 

Similar to Fm lecture 1 updated 3 (20)

CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
 
UNIT1_Himani Sharma.pptx
UNIT1_Himani Sharma.pptxUNIT1_Himani Sharma.pptx
UNIT1_Himani Sharma.pptx
 
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfCS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
 
e3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdf
e3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdfe3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdf
e3f55595181f7cad006f26db820fb78ec146e00e-1646623528083 (1).pdf
 
InFS6830 Secure Programming Questions Page 7 of 7Essay.docx
InFS6830 Secure Programming Questions Page 7 of 7Essay.docxInFS6830 Secure Programming Questions Page 7 of 7Essay.docx
InFS6830 Secure Programming Questions Page 7 of 7Essay.docx
 
CSEIT- ALL.pptx
CSEIT- ALL.pptxCSEIT- ALL.pptx
CSEIT- ALL.pptx
 
Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)Ece 1322 programming_for_engineers_s1_201213(1)
Ece 1322 programming_for_engineers_s1_201213(1)
 
Software Architecture - Allocation taxonomies: building, deployment and distr...
Software Architecture - Allocation taxonomies: building, deployment and distr...Software Architecture - Allocation taxonomies: building, deployment and distr...
Software Architecture - Allocation taxonomies: building, deployment and distr...
 
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
BCS302- Digital Design and computer organization -VTU-2022 scheme-Expectation...
 
2.9 years_Infosys_Resume-1
2.9 years_Infosys_Resume-12.9 years_Infosys_Resume-1
2.9 years_Infosys_Resume-1
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
REQB® - Foundation Level Requirements Manager
REQB® - Foundation Level Requirements ManagerREQB® - Foundation Level Requirements Manager
REQB® - Foundation Level Requirements Manager
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle Software
 
Dbms lab manual
Dbms lab manualDbms lab manual
Dbms lab manual
 
REQB® - Advanced Level Requirements Manager
REQB® - Advanced Level Requirements ManagerREQB® - Advanced Level Requirements Manager
REQB® - Advanced Level Requirements Manager
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
Ch03-Software Engineering Model
Ch03-Software Engineering ModelCh03-Software Engineering Model
Ch03-Software Engineering Model
 
praveen resume
praveen resumepraveen resume
praveen resume
 
Programming in c (pokhara university)
Programming in c (pokhara university)Programming in c (pokhara university)
Programming in c (pokhara university)
 
Software Engineering Thesis Topics In Oxford.pptx
Software Engineering Thesis Topics In Oxford.pptxSoftware Engineering Thesis Topics In Oxford.pptx
Software Engineering Thesis Topics In Oxford.pptx
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 

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

  1. Human factors for HCI. Computer factor for HCI
  2. 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.
  3. 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
  4. Right one are performed wrt left one. i.e uni testing is done by considering left one and so on.
  5. 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.
  6. 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
  7. 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.
  8. – 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
  9. 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.