KOMBINATION VON MASCHINELLEM LERNEN MIT TESTS UND ANALYSEN.
Die Überprüfung oder der Nachweis, dass Software das tut, was sie tun soll, erfordert eine genaue Spezifikation des erwarteten Verhaltens. Wenn ein Computer die Überprüfung durchführen soll, muss diese Spezifikation sogar in einer mathematischen Form vorliegen, die der Computer versteht, was eine anspruchsvolle und kostspielige Aufgabe ist. Um zu erkennen, dass etwas falsch ist, kann es jedoch ausreichen, dass etwas anders ist als andere - auch wenn dieses "Etwas" nicht genau bestimmt werden kann. Wir verwenden große Mengen vorhandener Programme (wie z.B. mobile Anwendungen), um ihre gemeinsamen Eigenschaften durch maschinelles Lernen bestimmen zu lassen, und prüfen dann neue Programme daraufhin, ob sie mit diesen Eigenschaften übereinstimmen. Wir können zum Beispiel lernen, dass "Reise"-Mobilfunkapplikationen in der Regel auf den Standort der Benutzer:in zugreifen, aber selten auf seine SMS-Historie. Wenn eine neue, unbekannte "Reise"-Anwendung auftaucht und versucht, auf frühere Textnachrichten und andere sensible Informationen zuzugreifen, können wir sie als Anomalie identifizieren, weil "Reise"-Anwendungen dies normalerweise nicht tun. Diese Überprüfungen, die maschinelles Lernen mit Tests und Analysen kombinieren, gibt es inzwischen in allen größeren App-Stores.