Formal Methods
Software Requirement and Specification Analysis
Group 2
Mashiat Amin Farin - 1202
Rupali Tasnim Samad - 1208
Swarna Islam - 1214
Yasir Arafat Araf - 1220
Rufidatul Radium - 1226
Ahnaf Mubashshir Mobin - 1232
2
Welcome to our
presentation
Let’s start with the first set of slides 1 3
WHAT IS FORMAL METHODS?
Mathematical modeling for
◉ Specification
◉ Development
◉ Verification
for both software and hardware.
4
WHY IS FORMAL METHOD REQUIRED?
5
Better
understandin
g of problem
Avoid
overlookin
g critical
issues
Providing
means to
record
assumptions
and decisions
Consistenc
y among
related
activities
FORMAL METHOD DESIGN PROCESS
SPECIFICATION VERIFICATION
IMPLEMENTATI
ON
6
USEFULNESS OF FORMAL METHODS
7
ERROR
DETECTION
SECURITY
REPRESENTING REQUIREMENTS
CODING VERIFICATION
SPECIFYING SOFTWARE
SOFTWARE DESIGN
Articulates the requirements of software
Developing a precise statement of what software do
Verifying of the coding is done
Data refinement involves state machine
specification, abstraction functions and simulation
proofs
Enhancing early error detection
Developing safe, secure software-intensive systems
ADVANTAGES OF FORMAL METHODS
8
Deep understanding of
the system
requirements
Analyzing
automatically to
discover
inconsistencies and
incompleteness
Cost reduction due to
verification of program
Guaranteed to meet its
specification
LIMITATIONS OF FORMAL METHODS
9
CORRECTNESS OF
SPECIFICATION
No way to guarantee correctness
and completeness of specification
with respect to user's informal
requirements
CORRECTNESS OF
IMPLEMENTATION
Difficult to identify whether or not a
given program satisfies the given
specifications
Generally impossible to ensure the
correctness of specification as well
as implementation because
CORRECTNESS OF
PROOFS
Unavailability or being too complex
of formal definition of semantics of
important languages
DEALING COMPLEX
LANGUAGE FEATURES
DISADVANTAGES OF FORMAL METHODS
10
1 3 5
4
2
Difficult to
understand the
application domain
Lack of training to
use formal
specification
language
Difficult to use in
very large systems
Difficult to estimate
possible cost savings
Not compatible to
agile methods
ISSUES NOT ADDRESSED BY FORMAL METHODS
Creativity
Formal methods are not
considered to be creative, more
likely descriptive and analytical in
nature. There are only formal
ways of describing and analyzing
designs.
Software Product
Quality
Formal methods do not contribute
to software product quality. It
deals with the software itself and
its documentation. Other
important components such as
training, customer support,
maintenance or installation have
to be dealt with separately.
Systems &
environments
Software systems normally take
inputs from external
environments which may not be
predictable. This issue usually
creates the problem of developing
`correct' specifications and
deciding what behavior is correct.
11
THANKS!
12

Formal Methods.pptx

  • 1.
    Formal Methods Software Requirementand Specification Analysis
  • 2.
    Group 2 Mashiat AminFarin - 1202 Rupali Tasnim Samad - 1208 Swarna Islam - 1214 Yasir Arafat Araf - 1220 Rufidatul Radium - 1226 Ahnaf Mubashshir Mobin - 1232 2
  • 3.
    Welcome to our presentation Let’sstart with the first set of slides 1 3
  • 4.
    WHAT IS FORMALMETHODS? Mathematical modeling for ◉ Specification ◉ Development ◉ Verification for both software and hardware. 4
  • 5.
    WHY IS FORMALMETHOD REQUIRED? 5 Better understandin g of problem Avoid overlookin g critical issues Providing means to record assumptions and decisions Consistenc y among related activities
  • 6.
    FORMAL METHOD DESIGNPROCESS SPECIFICATION VERIFICATION IMPLEMENTATI ON 6
  • 7.
    USEFULNESS OF FORMALMETHODS 7 ERROR DETECTION SECURITY REPRESENTING REQUIREMENTS CODING VERIFICATION SPECIFYING SOFTWARE SOFTWARE DESIGN Articulates the requirements of software Developing a precise statement of what software do Verifying of the coding is done Data refinement involves state machine specification, abstraction functions and simulation proofs Enhancing early error detection Developing safe, secure software-intensive systems
  • 8.
    ADVANTAGES OF FORMALMETHODS 8 Deep understanding of the system requirements Analyzing automatically to discover inconsistencies and incompleteness Cost reduction due to verification of program Guaranteed to meet its specification
  • 9.
    LIMITATIONS OF FORMALMETHODS 9 CORRECTNESS OF SPECIFICATION No way to guarantee correctness and completeness of specification with respect to user's informal requirements CORRECTNESS OF IMPLEMENTATION Difficult to identify whether or not a given program satisfies the given specifications Generally impossible to ensure the correctness of specification as well as implementation because CORRECTNESS OF PROOFS Unavailability or being too complex of formal definition of semantics of important languages DEALING COMPLEX LANGUAGE FEATURES
  • 10.
    DISADVANTAGES OF FORMALMETHODS 10 1 3 5 4 2 Difficult to understand the application domain Lack of training to use formal specification language Difficult to use in very large systems Difficult to estimate possible cost savings Not compatible to agile methods
  • 11.
    ISSUES NOT ADDRESSEDBY FORMAL METHODS Creativity Formal methods are not considered to be creative, more likely descriptive and analytical in nature. There are only formal ways of describing and analyzing designs. Software Product Quality Formal methods do not contribute to software product quality. It deals with the software itself and its documentation. Other important components such as training, customer support, maintenance or installation have to be dealt with separately. Systems & environments Software systems normally take inputs from external environments which may not be predictable. This issue usually creates the problem of developing `correct' specifications and deciding what behavior is correct. 11
  • 12.