Plausibilisierung

In der Softwaretechnik bezeichnet Validierung oder Plausibilierung (auch Sanity Check genannt) die Kontrolle eines konkreten Wertes darauf, ob er zu einem bestimmten Datentyp gehört oder in einem vorgegebenen Wertebereich oder einer vorgegebenen Wertemenge liegt. Sie ist ein wichtiger Aspekt der Qualitätssicherung, der sicherstellen soll, dass ein implementiertes Programm den vorher aufgestellten Anforderungen genügt. Die meisten Programmfehler und Sicherheitsprobleme sind letztlich auf fehlende Plausibilierung von Eingabewerten zurückzuführen.

Für die Validierung gilt die goldene Regel: never trust the user (traue niemals dem Benutzer) - wobei der „Benutzer“ auch ein Programmierer sein kann, der die fraglichen Funktionen und Module verwendet. Die Validierung von Werten kann und soll also an verschiedenen Punkten der Lebenszeit einer Software stattfinden:

Abgrenzung zur formalen Verifikation

In der Verifikation wird dagegen überprüft, ob ein System seiner formalen Spezifikation genügt. Es ist durchaus denkbar, dass eine Software ihre Spezifikation erfüllt, nicht jedoch die Anforderungen des Kunden. Das kann passieren, wenn beim Übersetzen der informell formulierten Anforderungen in eine formale Spezifikation Fehler gemacht wurden.

Auch verlangt eine formale Verifikation, dass absolut alle möglichen Fälle betrachtet werden - was im Allgemeinen nicht möglich ist (siehe Halteproblem). Die Verifikation ist ein mathematischer Beweis der Korrektheit des Programmes, die Validierung ist ein pragmatischer Schutz gegen fehlerhafte Benutzung.


Siehe auch: Plausibilität

See also: Plausibilisierung, Ausnahmebehandlung, Beweis (Mathematik), Compiler, Computerprogramm, Computersicherheit, Datentyp, Funktion (Informatik), Halteproblem, Implementierung