This document discusses software verification. It defines software verification as evaluating software to determine if it satisfies requirements. It notes that software verification checks if the right product is being built, while validation checks if the product is being built right. The document outlines various methods for software verification including model checking, theorem proving, dynamic execution, and runtime verification. It discusses key challenges in software verification like performance and automation. Finally, it provides examples of industries where software verification is important, such as aeronautics, space exploration, medical technology, autonomous transportation, and energy.
5. Software Verification
“The process of evaluating software to determine
whether the products of a given development
phase satisfy the conditions imposed at the start
of that phase”
– IEEE-STD-610
7. Software Verification & Validation
Are we building the product right?
Are we building the right product?
– B. Boehm
ValidationVerification
8. Methods of Software Verification
Checks every
program state
Low complexity
Slowest method
Leads to “State
Space Explosions”
Model Checking
Tries to prove
formulas
High complexity
Can use heuristics
for better speed
Possibility to never
terminate
Theorem Proving
Runs and proves
the program
High complexity
Comparably fast
Needs special run-
time environment
Dynamic Execution
Monitor and guard
running programs
Medium complexity
Minimal overhead
Cannot prove the
program, but
secure it
Runtime Verification
10. You made it to the interesting part
✓
Formal
Definitions
Business
Cases
Questions
& Answers
11. Aeronautics
… must ensure unconditional safety for all passengers
• Formally verified Linux kernel
• Model checked automatons
• Required by DO-178B
12. Space Exploration
… where errors are unexcusable
• Execution security and safety
in unforeseen events
• Formally verified core systems
• Runtime verification
13. Medical Technology
… should promote saving lives
• Formally verified software
• Mostly model checked
• Artificial organs
• Operation robots
• Sedation robots
14. Autonomous Transportation
… needs to deal with human error
• Ensure safety of all road users
• Exceptional traffic cases
• Regulations similar to aviation
• Will need runtime verification
15. Energy Turnaround
… deals with thousands of producers
• Everyone can feed energy back
• Must not overcharge the grid
• Plant schedules hard to generate
• Global & local constraints