























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of dependable systems, focusing on validation and verification. Topics include final presentation requirements, defensive programming, fault tolerance, fault detection, static and dynamic verification, and static analysis tools. Techniques for fault avoidance, fault tolerance, and fault detection are discussed, as well as the importance of testing and debugging.
Typology: Slides
1 / 31
This page cannot be seen from the preview
Don't miss anything!
























Dependable Systems II Validation and Verification
docsity.com
Final Presentation
Client should be present at final presentation
docsity.com
docsity.com
Fault avoidance
Build systems with the objective of creating fault- free systems
Fault tolerance
Build systems that continue to operate when faults occur
Fault detection (testing and validation)
Detect faults before the system is put into operation.
docsity.com
Backward Recovery:
docsity.com
General Approach:
N-version programming -- Execute independent implementation in parallel, compare results, accept the most probable.
docsity.com
Software development process that aims to develop zero-defect software.
It is always better to prevent defects than to remove them later.
Example: The four color problem.
docsity.com
Static verification: Techniques of verification that do not include execution of the software.
Dynamic verification
docsity.com
Program reviews whose objective is to detect faults
docsity.com
Data faults: Initialization, constants, array bounds, character strings
Control faults: Conditions, loop termination, compound statements, case statements
Input/output faults: All inputs used; all outputs assigned a value
Interface faults: Parameter numbers, types, and order; structures and shared memory
Storage management faults: Modification of links, allocation and de- allocation of memory
Exceptions: Possible errors, error handlers docsity.com
docsity.com
Testing can never prove that a system is correct. It can only show that (a) a system is correct in a special case, or (b) that it has a fault.
docsity.com
Alpha Testing: Clients operate the system in a realistic but non-production environment
Beta Testing: Clients operate the system in a carefully monitored production environment
Parallel Testing: Clients operate new system alongside old production system with same data and compare results
docsity.com
System and Acceptance Testing is a major part of a software project
What is the definition of "done"? docsity.com