Week 1 (Part1)
Week 1 (Part1)
Topics Covered
Introduction to Formal Methods
Software Development Life
Cycle (SDLC)
Software increasing in size and complexity
A Systematic approach is required called SDLC
Requirement Specification
Design
Coding
Deployment
Software Errors
Increased size and complexity leads to software errors
Error: software does not provide the intended behavior
Errors lead to failure
Cost
* Formal Software Development, from VDB to Java by Quentin Charatan and Aaron Kans
Software Specifications
Specification of “Withdraw” method is:
Ambiguous (different interpretations)
Incomplete (What should happen when there is insufficient amount)
testing ineffective
Formal Notations
It is desirable to use a specification notation with a fixed,
unambiguous semantics.
Notations that have a fixed semantics are known as formal