0% found this document useful (0 votes)
12 views16 pages

Lec 1

Uploaded by

seharamjadnuml
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views16 pages

Lec 1

Uploaded by

seharamjadnuml
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

FORMAL METHODS

Week 1
Lecture 1
Lecturer: Maira Zulfiqar
Recommended Books

Recommended Concise guide to formal methods, theory,


Textbook(s) fundamentals and industry applications, 7th
edition, Springer, 2017.
Recommended 1. The way of Z practical programming with
Reference formal methods, Jonathan Jacky, 7th
(Books/Websites/ Edition, Cambridge University Press, 2008.
Articles) 2. Modern formal methods and applications,
Hossam A. Gabbar, 8th Edition, Springer-
Verlag, 2006.
Course Assessment
Evaluation Methods Weight (%)
Quizzes
Assignments 25%
Presentation/Project
Midterm 25
Final Term 50
Total 100
Critical Software Systems
Spectacular Software Failures

THERAC-25 radiation machine : Poor testing of


safety-critical software can cost lives : 6 patients
were killed

Ariane 5 explosion : exception-handling bug


The rocket used horizontal bias to determine whether it was pointing up or down,
This value was represented by a 64-bit floating variable. However, problems began
to occur when the software attempted to stuff this 64-bit variable, which can
represent billions of potential values, into a 16-bit integer, which can only represent
65,535 potential values. For the first few seconds of flight, the rocket’s acceleration
was low, so the conversion between these two values was successful. However, as
the rocket’s velocity increased, the 64-bit variable exceeded 65k, and became too
large to fit in a 16-bit variable. It was at this point that the processor encountered an
operand error, and populated the BH variable with a diagnostic value. Spacecraft
was consumed in a gigantic fireball of liquid hydrogen.

We need our software to be dependable


about 370 million $ lost)

Testing is one way to assess dependability


Formal Specification
◦ Formal specification is the use of mathematical notation to
describe in a precise way the properties that an information
system must have, without unduly constraining the way in which
these properties are achieved.
Formal specifications
Formal methods may be employed at a number of levels
◦ Formal specification only
◦ Formal specification, refinement and verification (some proofs);
◦ Formal specification, refinement and verification (with extensive
theorem proving)
Why Should We Use Formal
Methods?
◦ There is a strong motivation to use best practice in software
engineering in order to produce software adhering to high-quality
standards.
◦ Quality problems with software may cause minor irritations or
major damage to a customer’s business including loss of life.
◦ benefit to companies in reducing the occurrence of defects in
software products
Limitations of software formal
specifications

You might also like