Before deploying a software system we need to assure ourselves (and stake- holders) that the system will behave correctly. This assurance is usually done by testing the system. However, it is intuitively obvious that ...