SlideShare une entreprise Scribd logo
1  sur  21
MCA –Software Engineering
Kantipur City College
Topics include
Formal Methods Concept
Formal Specification
Language
Test plan creation
Test-case generation
Executable and non-
executable specifications
Pre and Post assertions
Formal verification
Formal methods
Concept
• Formal specification is part of a more general
collection of techniques that are known as ‘formal
methods’.
• These are all based on mathematical
representation and analysis to produce consistent,
complete, and correct specification of software.
• Formal methods include
– Formal specification
– Specification analysis and proof
– Transformational development
– Program verification
Acceptance of Formal
methods
• Formal methods have not become mainstream software
development techniques as was once predicted
– Other software engineering techniques have been
successful at increasing system quality. Hence the need
for formal methods has been reduced
– Market changes have made time-to-market rather than
software with a low error count the key factor. Formal
methods do not reduce time to market
– The scope of formal methods is limited. They are not
well-suited to specifying and analysing user interfaces
and user interaction
– Formal methods are hard to scale up to large systems
Use of Formal Methods
• Formal methods have limited practical applicability.
• Their principal benefits are in reducing the number of
errors in systems.
• Formal specification techniques are most applicable
in the development of critical systems and
standards.
• In this area, the use of formal methods is most likely
to be cost-effective.
Advantages of Formal
Specification
• It can be studied mathematically.
• Correctness of modules can be proved
• Equivalency can be proved.
• Incomplete definitions and inconsistencies can be
detected, and
• In some cases, it may be produced automatically
from requirement statements.
Specification in a Software
Process
• Specification and design are inextricably
intermingled.
• Architectural design is essential to structure a
specification.
• Formal specifications are expressed in a
mathematical notation with precisely defined
vocabulary, syntax ( Syn) and semantics (sem).
• The semantics and syntax of a formal
specification language are very much like any
high level programming language.
Specification and Design
Architectural
design
Requirements
specification
Requirements
definition
Software
specification
High-level
design
Increasing contractor involvement
Decreasing client involvement
Specification
Design
Requirements
specification
Formal
specification
System
modelling
Architectural
design
Requirements
definition
High-level
design
Specification in a Software
Process
Use of Formal Specification
• Formal specification involves investing more effort in the
early phases of software development
• This reduces requirements errors as it forces a detailed
analysis of the requirements
• Incompleteness and inconsistencies can be discovered and
resolved
• Hence, savings as much as the amount of rework due to
requirements problems is reduced
Development cost of
Formal Specification
Specification
Design and
Implementation
Validation
Specification
Design and
Implementation
Validation
Cost
Without formal
specification
With formal
specification
Formal specification forces an analysis of the system requirements at an
early stage. Correcting errors at this stage is cheaper than modifying a
delivered system
Specification Techniques
• Algebraic approach
– The system is specified in terms of its operations and
their relationships.
– Algebraic techniques are suited to interface specification
where the interface is defined as a set of object classes.
• Model-based approach
– The system is specified in terms of a state model that is
constructed using mathematical constructs such as sets
and sequences. Operations are defined by modifications
to the system’s state.
Formal Specification
Languages
•A formal Specification Language are based on
mathematical logic and provides for automatic logic
verification.
•A formal specification may be checked for inconsistencies
and contradictions before being coded in a programming
language.
Mathematical Logic
Symbol Meaning
∀ For all ( a qualifier)
∃ There exists ( a qualifier)
P Ξ Q P is logically equivalent to Q
~ p Not p
P^q p and q
P v q p or q
P Q If p then q
P Q P implies q
P Q P if and only if q
э Such that
P Q P does not imply q
Examples using Logic
Symbols
∀∀ x,y,z x > y^y >z x>z
• Description: For all numeric values x,y and z for
which x is larger than y and y is larger than z, x is
larger than z.
Pre and Post
Assertions
• A set of constraints associated with a formula are
called assertions and are used to express
preconditions and post-conditions for a given
tasks.
• The preconditions are normally constraints placed
on the input to a given formula ( task), and post
conditions are constraints placed on the output or
results of the formula ( task).
• The general format for specifying a functional task
using formal specification is to define the
preconditions, the process and the post conditions
within the syntax and semantics of formal
language being used.
Example of formal
specification
• Example 1: Suppose M, N and q are integer values. The
task is to compute N/M only if N is divisible by M.
• Definition:
{ ∃ q э N = q x M } Precondition
Program to compute N/M
{ Output q = N/M } Post-condition
Description: These equations mean that if for integer values
of N and M there exists an integer value q such that N is
equal to q times M; then the output of the program should
be the quotient of N divided by M.
Example of formal
specification
• Example 2: The following is a specification for a function
that must read two numbers and report the larger of the
two numbers.
• Definition:
{ True } Precondition
Program to read x and y
{ (Output = x) ^ (x>y) V ( Output = y) ^ (y>x) } Post-condition
• Description: There is no precondition. That is, the program
should work for any pair of ordered values. The post
condition defines the output to be x if x > y or to be y if y>
x.
Example of formal
specification
• Example 3: The following are the precondition and post-
condition for a function that is meat to sort an array of
positive integers.
• Definition:
{ n>0, ∀i (0<I ≤n) ( a[i] > 0 } Precondition
Program to soft array a[1,…n]
{∀I (0<i<n) a[i] ≤ a[i+1]} Post-condition
Description: These equations mean that before the task is
performed we have an array of positive integers, after the
task is performed we have the same array of positive
integers, and the content of the array is in ascending
order.
Behavioural
Specification
• Algebraic specification can be cumbersome when
the object operations are not independent of the
object state
• Model-based specification exposes the system
state and defines the operations in terms of
changes to that state
• The Z notation is a mature technique for model-
based specification. It combines formal and
informal description and uses graphical
highlighting when presenting specifications
References
 From software engineering, A practitioner’s approach by Roger S.
Pressman
– Chapter 25: Formal Methods
• Basic concepts, deficiencies of Less formal approaches,
• Formal methods concept, Mathematical preliminaries
• Formal specification languages
• Summary of Z Notation.
 From Software Engineering, Ian Sommerville
– Part5: Verification and Validation
• Chapter 9: Formal Specification
• Chapter 21: Critical System Validation
 From Software Engineering Fundamentals by Ali Behforooz and F.J.
Hudson
- Chapter 5: Software Specification Tools

Contenu connexe

Tendances

Types of software testing
Types of software testingTypes of software testing
Types of software testingPrachi Sasankar
 
Software Quality Models: A Comparative Study paper
Software Quality Models: A Comparative Study  paperSoftware Quality Models: A Comparative Study  paper
Software Quality Models: A Comparative Study paperMoutasm Tamimi
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingHadi Fadlallah
 
Defects in software testing
Defects in software testingDefects in software testing
Defects in software testingsandeepsingh2808
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Jira as a Tool for Test Management
Jira as a Tool for Test ManagementJira as a Tool for Test Management
Jira as a Tool for Test ManagementMaija Laksa
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering) Badar Rameez. CH.
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Presentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CyclePresentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CycleRajon
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPTsuhasreddy1
 

Tendances (20)

Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Unit testing
Unit testing Unit testing
Unit testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Quality Models: A Comparative Study paper
Software Quality Models: A Comparative Study  paperSoftware Quality Models: A Comparative Study  paper
Software Quality Models: A Comparative Study paper
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Defects in software testing
Defects in software testingDefects in software testing
Defects in software testing
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Jira as a Tool for Test Management
Jira as a Tool for Test ManagementJira as a Tool for Test Management
Jira as a Tool for Test Management
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering)
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Unit1
Unit1Unit1
Unit1
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Presentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CyclePresentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life Cycle
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPT
 

En vedette

Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01Sidra Ashraf
 
The standish group chaos report
The standish group chaos report The standish group chaos report
The standish group chaos report Mizno Kruge
 
Formal methods 4 - Z notation
Formal methods   4 - Z notationFormal methods   4 - Z notation
Formal methods 4 - Z notationVlad Patryshev
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programmingMukesh Tekwani
 
System Programming Unit III
System Programming Unit IIISystem Programming Unit III
System Programming Unit IIIManoj Patil
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1Manoj Patil
 

En vedette (9)

Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
 
The standish group chaos report
The standish group chaos report The standish group chaos report
The standish group chaos report
 
Formal methods 4 - Z notation
Formal methods   4 - Z notationFormal methods   4 - Z notation
Formal methods 4 - Z notation
 
Z specification
Z specificationZ specification
Z specification
 
Formal Methods
Formal MethodsFormal Methods
Formal Methods
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Introduction to systems programming
Introduction to systems programmingIntroduction to systems programming
Introduction to systems programming
 
System Programming Unit III
System Programming Unit IIISystem Programming Unit III
System Programming Unit III
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 

Similaire à Mca se chapter_9_formal_methods

Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringKanchanPatil34
 
Testing foundations
Testing foundationsTesting foundations
Testing foundationsNeha Singh
 
Requirement verification & validation
Requirement verification & validationRequirement verification & validation
Requirement verification & validationAbdul Basit
 
Building largescalepredictionsystemv1
Building largescalepredictionsystemv1Building largescalepredictionsystemv1
Building largescalepredictionsystemv1arthi v
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07uShubham Sharma
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented SoftwarePraveen Penumathsa
 
Verifying and Validating Requirements
Verifying and Validating RequirementsVerifying and Validating Requirements
Verifying and Validating RequirementsRavikanth-BA
 
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Praveen Penumathsa
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validationAbdul Basit
 
Steps in Simulation Study
Steps in Simulation StudySteps in Simulation Study
Steps in Simulation StudyNalin Adhikari
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
Triantafyllia Voulibasi
Triantafyllia VoulibasiTriantafyllia Voulibasi
Triantafyllia VoulibasiISSEL
 

Similaire à Mca se chapter_9_formal_methods (20)

11 whiteboxtesting
11 whiteboxtesting11 whiteboxtesting
11 whiteboxtesting
 
Unit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineeringUnit 1 sepm cleanroom engineering
Unit 1 sepm cleanroom engineering
 
SW Project Process.pptx
SW Project Process.pptxSW Project Process.pptx
SW Project Process.pptx
 
Testing foundations
Testing foundationsTesting foundations
Testing foundations
 
Requirements analysis lecture
Requirements analysis lectureRequirements analysis lecture
Requirements analysis lecture
 
Requirement verification & validation
Requirement verification & validationRequirement verification & validation
Requirement verification & validation
 
AutoTest.ppt
AutoTest.pptAutoTest.ppt
AutoTest.ppt
 
AutoTest.ppt
AutoTest.pptAutoTest.ppt
AutoTest.ppt
 
AutoTest.ppt
AutoTest.pptAutoTest.ppt
AutoTest.ppt
 
Building largescalepredictionsystemv1
Building largescalepredictionsystemv1Building largescalepredictionsystemv1
Building largescalepredictionsystemv1
 
Cse
CseCse
Cse
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07u
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
 
Verifying and Validating Requirements
Verifying and Validating RequirementsVerifying and Validating Requirements
Verifying and Validating Requirements
 
Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram Generating test cases using UML Communication Diagram
Generating test cases using UML Communication Diagram
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
 
Steps in Simulation Study
Steps in Simulation StudySteps in Simulation Study
Steps in Simulation Study
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Triantafyllia Voulibasi
Triantafyllia VoulibasiTriantafyllia Voulibasi
Triantafyllia Voulibasi
 

Plus de Aman Adhikari

Algorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman AdhikariAlgorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman AdhikariAman Adhikari
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validationAman Adhikari
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project planningsAman Adhikari
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
Software project plannings
Software project planningsSoftware project plannings
Software project planningsAman Adhikari
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mcaAman Adhikari
 
Research problem unit2 supplementary
Research problem unit2 supplementaryResearch problem unit2 supplementary
Research problem unit2 supplementaryAman Adhikari
 
Research methodology unit i
Research methodology unit iResearch methodology unit i
Research methodology unit iAman Adhikari
 
Research methodology unit6
Research methodology unit6Research methodology unit6
Research methodology unit6Aman Adhikari
 
Research methodology – unit5
Research methodology – unit5Research methodology – unit5
Research methodology – unit5Aman Adhikari
 
Research methodology – unit 9
Research methodology – unit 9Research methodology – unit 9
Research methodology – unit 9Aman Adhikari
 
Research methodology – unit 4
Research methodology – unit 4Research methodology – unit 4
Research methodology – unit 4Aman Adhikari
 
Research methodology unit5
Research methodology   unit5Research methodology   unit5
Research methodology unit5Aman Adhikari
 

Plus de Aman Adhikari (20)

Algorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman AdhikariAlgorithmic Toolbox Certificate from Coursera for Aman Adhikari
Algorithmic Toolbox Certificate from Coursera for Aman Adhikari
 
Vp all slides
Vp   all slidesVp   all slides
Vp all slides
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validation
 
Mca 1st & 2nd final
Mca 1st & 2nd finalMca 1st & 2nd final
Mca 1st & 2nd final
 
Software testing
Software testingSoftware testing
Software testing
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software project plannings
Software project planningsSoftware project plannings
Software project plannings
 
Software engineering mca
Software engineering mcaSoftware engineering mca
Software engineering mca
 
Software ee1
Software ee1Software ee1
Software ee1
 
Software ee111
Software ee111Software ee111
Software ee111
 
Research problem unit2 supplementary
Research problem unit2 supplementaryResearch problem unit2 supplementary
Research problem unit2 supplementary
 
Research methodology unit i
Research methodology unit iResearch methodology unit i
Research methodology unit i
 
Research methodology unit6
Research methodology unit6Research methodology unit6
Research methodology unit6
 
Research methodology – unit5
Research methodology – unit5Research methodology – unit5
Research methodology – unit5
 
Research methodology – unit 9
Research methodology – unit 9Research methodology – unit 9
Research methodology – unit 9
 
Research methodology – unit 4
Research methodology – unit 4Research methodology – unit 4
Research methodology – unit 4
 
Research methodology unit5
Research methodology   unit5Research methodology   unit5
Research methodology unit5
 

Dernier

Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Dernier (20)

Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Mca se chapter_9_formal_methods

  • 2. Topics include Formal Methods Concept Formal Specification Language Test plan creation Test-case generation Executable and non- executable specifications Pre and Post assertions Formal verification
  • 3. Formal methods Concept • Formal specification is part of a more general collection of techniques that are known as ‘formal methods’. • These are all based on mathematical representation and analysis to produce consistent, complete, and correct specification of software. • Formal methods include – Formal specification – Specification analysis and proof – Transformational development – Program verification
  • 4. Acceptance of Formal methods • Formal methods have not become mainstream software development techniques as was once predicted – Other software engineering techniques have been successful at increasing system quality. Hence the need for formal methods has been reduced – Market changes have made time-to-market rather than software with a low error count the key factor. Formal methods do not reduce time to market – The scope of formal methods is limited. They are not well-suited to specifying and analysing user interfaces and user interaction – Formal methods are hard to scale up to large systems
  • 5. Use of Formal Methods • Formal methods have limited practical applicability. • Their principal benefits are in reducing the number of errors in systems. • Formal specification techniques are most applicable in the development of critical systems and standards. • In this area, the use of formal methods is most likely to be cost-effective.
  • 6. Advantages of Formal Specification • It can be studied mathematically. • Correctness of modules can be proved • Equivalency can be proved. • Incomplete definitions and inconsistencies can be detected, and • In some cases, it may be produced automatically from requirement statements.
  • 7. Specification in a Software Process • Specification and design are inextricably intermingled. • Architectural design is essential to structure a specification. • Formal specifications are expressed in a mathematical notation with precisely defined vocabulary, syntax ( Syn) and semantics (sem). • The semantics and syntax of a formal specification language are very much like any high level programming language.
  • 10. Use of Formal Specification • Formal specification involves investing more effort in the early phases of software development • This reduces requirements errors as it forces a detailed analysis of the requirements • Incompleteness and inconsistencies can be discovered and resolved • Hence, savings as much as the amount of rework due to requirements problems is reduced
  • 11. Development cost of Formal Specification Specification Design and Implementation Validation Specification Design and Implementation Validation Cost Without formal specification With formal specification Formal specification forces an analysis of the system requirements at an early stage. Correcting errors at this stage is cheaper than modifying a delivered system
  • 12. Specification Techniques • Algebraic approach – The system is specified in terms of its operations and their relationships. – Algebraic techniques are suited to interface specification where the interface is defined as a set of object classes. • Model-based approach – The system is specified in terms of a state model that is constructed using mathematical constructs such as sets and sequences. Operations are defined by modifications to the system’s state.
  • 13. Formal Specification Languages •A formal Specification Language are based on mathematical logic and provides for automatic logic verification. •A formal specification may be checked for inconsistencies and contradictions before being coded in a programming language.
  • 14. Mathematical Logic Symbol Meaning ∀ For all ( a qualifier) ∃ There exists ( a qualifier) P Ξ Q P is logically equivalent to Q ~ p Not p P^q p and q P v q p or q P Q If p then q P Q P implies q P Q P if and only if q э Such that P Q P does not imply q
  • 15. Examples using Logic Symbols ∀∀ x,y,z x > y^y >z x>z • Description: For all numeric values x,y and z for which x is larger than y and y is larger than z, x is larger than z.
  • 16. Pre and Post Assertions • A set of constraints associated with a formula are called assertions and are used to express preconditions and post-conditions for a given tasks. • The preconditions are normally constraints placed on the input to a given formula ( task), and post conditions are constraints placed on the output or results of the formula ( task). • The general format for specifying a functional task using formal specification is to define the preconditions, the process and the post conditions within the syntax and semantics of formal language being used.
  • 17. Example of formal specification • Example 1: Suppose M, N and q are integer values. The task is to compute N/M only if N is divisible by M. • Definition: { ∃ q э N = q x M } Precondition Program to compute N/M { Output q = N/M } Post-condition Description: These equations mean that if for integer values of N and M there exists an integer value q such that N is equal to q times M; then the output of the program should be the quotient of N divided by M.
  • 18. Example of formal specification • Example 2: The following is a specification for a function that must read two numbers and report the larger of the two numbers. • Definition: { True } Precondition Program to read x and y { (Output = x) ^ (x>y) V ( Output = y) ^ (y>x) } Post-condition • Description: There is no precondition. That is, the program should work for any pair of ordered values. The post condition defines the output to be x if x > y or to be y if y> x.
  • 19. Example of formal specification • Example 3: The following are the precondition and post- condition for a function that is meat to sort an array of positive integers. • Definition: { n>0, ∀i (0<I ≤n) ( a[i] > 0 } Precondition Program to soft array a[1,…n] {∀I (0<i<n) a[i] ≤ a[i+1]} Post-condition Description: These equations mean that before the task is performed we have an array of positive integers, after the task is performed we have the same array of positive integers, and the content of the array is in ascending order.
  • 20. Behavioural Specification • Algebraic specification can be cumbersome when the object operations are not independent of the object state • Model-based specification exposes the system state and defines the operations in terms of changes to that state • The Z notation is a mature technique for model- based specification. It combines formal and informal description and uses graphical highlighting when presenting specifications
  • 21. References  From software engineering, A practitioner’s approach by Roger S. Pressman – Chapter 25: Formal Methods • Basic concepts, deficiencies of Less formal approaches, • Formal methods concept, Mathematical preliminaries • Formal specification languages • Summary of Z Notation.  From Software Engineering, Ian Sommerville – Part5: Verification and Validation • Chapter 9: Formal Specification • Chapter 21: Critical System Validation  From Software Engineering Fundamentals by Ali Behforooz and F.J. Hudson - Chapter 5: Software Specification Tools