You are on page 1of 26

Software Verification and Validation

Week 01
 Course Title: Software Verification and Validation

 Instructor: Dr. Mahfooz Ul Haque

 Email Address: mahfoozul.haque@se.uol.edu.pk

 Course contents will be available at:


https://sites.google.com/a/cs.uol.edu.pk/mahfooz/

 Office: Room 12 (New Building)

 Course Duration: 15/16 Weeks


Tentative Marking Scheme

Marks Distribution:
Mid-Term Exam 20%
Assignments 10%
Quizzes 10%
Project 10%
Final Exams. 50%

Marks division might change during the semester, if needed


Why to study Software Verification and Validation?
Quick Revision

 What is software? Software refers to a program or a set of instructions and


applications used to manage and control various functions of a device
such as a computer, smart devices.
 Systems software includes the programs that are dedicated to managing the
computer itself, such as the operating system, file management utilities,
and disk operating systems.
 Applications software (also called end-user programs) include such things as
database programs, web based and desktop applications.
 Why software is important?
 Ease your life
 Uber, Cream, etc.
Why Software fails?
 Unrealistic project goals
 Inaccurate estimates of needed resources
 Badly defined system requirements
 Poor reporting of the project's status
 Unmanaged risks
 Poor communication among customers, developers, and users
 Use of immature technology
 Inability to handle the project's complexity
 Poor project management
 Commercial pressures
Error Vs Bug?
 What is error in software?
 An error is a mistake made by a programmer that has occurred as a
consequence of faults/confusions about the software product.
 Human mistake causes incorrect results
 What is bug in software?
 A bug is the defect in the program, when executed under particular
circumstances, causes a failure.
 It’s a software defect. The inability of a software to perform its required
functions within specified performance requirements.
 What is software failure?
 Failure is the departure of the program results from the specification.
 Faults or bugs in a hardware or a software component cause failure.
 Deviation of a software from its intended purpose
Software Failures –
Pentium Fails Long Division (1993)

 Cost: $475 million, corporate credibility


 Disaster: Intel’s highly-promoted Pentium chip occasionally made mistakes
when dividing floating-point numbers within a specific range. For example,
dividing 4195835.0/3145727.0 yielded 1.33374 instead of 1.33382, an error of
0.006%. Although the bug affected few users, it become a public relations
nightmare. With an estimated 5 million defective chips in circulation, Intel
offered to replace Pentium chips only for consumers who could prove they
needed high accuracy. Eventually Intel replaced the chips for anyone who
complained.
 Cause: The divider in the Pentium floating point unit had a flawed division
table, missing about five of a thousand entries and resulting in these rounding
errors.
Software Failures –
British Passports to Nowhere (1999)
 Cost: £12.6 million, mass inconvenience
 Disaster: The U.K. Passport Agency implemented a new Siemens
computer system, which failed to issue passports on time for a
half million British citizens. The Agency had to pay millions in
compensation, staff overtime and umbrellas for people queuing
in the rain for passports.
 Cause: The Passport Agency rolled out its new computer system
without adequately testing it or training its staff. At the same
time, a law change required all children under 16 traveling
abroad to obtain a passport, resulting in a huge spike in
passport demand that overwhelmed the buggy new computer
system. (more)
Software Failures –
Cancer Treatment to Die For (2000)
 Cost: Eight people dead, 20 critically injured
 Disaster: Radiation therapy software by Multi-data Systems
International miscalculated the proper dosage, exposing
patients to harmful and in some cases fatal levels of
radiation. The physicians, who were legally required to double-
check the software’s calculations, were indicted for murder.
 Cause: The software calculated radiation dosage based on the
order in which data was entered, sometimes delivering a
double dose of radiation. (more)
Software Verification and Validation

▪ Traceability
▪ System-level requirements should be traceable
to subsystems or components
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Why Verification and Validation is
important?
Guarantee perfect software
All about proving programs correctness
Very useful in safety critical systems such as
emergency situations, disaster recoveries, etc.
Verify correctness properties of the system
Extremely large system can be traversed in minutes
Represent the overall behavior of the system
Efficient in terms of product development and
improvements.
Formal Verification

 Formal verification is the process of checking whether a


design satisfies some requirements (properties).

 Formal verification of software programs involves proving


that a program satisfies a formal specification of its
behavior.
References

The slide contents are prepared from the following sources:


 https://inf.mit.bme.hu/edu/courses/swvv
 https://www.cs.drexel.edu/~spiros/teaching/SE320/index.html

You might also like