Software systems control more and more aspects of our lives, which makes the security of these systems increasingly important — in two ways: safety, when human life, health, or mission‑critical business areas are involved, and security, when it comes to protection against breaches, sabotage, and data leaks.
For such software, we want to guarantee that certain requirements are always fulfilled. Simple tests are not sufficient for this, as they typically cover only specific scenarios — but we want the software to behave correctly in *all* scenarios.
This requires the application of mathematical techniques — so‑called formal methods — which were previously a gap in the portfolio of Advanced trainings, a gap we have now closed.