Deterministische Methoden sorgen bei eine Vielzahl von Systemen für mehr Sicherheit - etwa in der chemischen Industrie, im Automobil oder bei Haushaltsgeräten. Die probalistische Richtung, die es erlaubt, mit Fehlertoleranzen umzugehen, kommt bei komplizierten technischen Anwendungen zum Einsatz, beispielsweise in Kernkraftwerken. Sie kann versagen, was sich unlängst in einer Softwarepanne gezeigt hat, die den Bahnhof Hamburg-Altona stundenlang lahmlegte. Der Schwerpunkt liege eher bei den deterministischen Verfahren, meint Wolfgang Ehrenberger, Professor für Softwareengineering an der Fachhochschule Fulda: "Es gibt immer mehr Möglichkeiten nachzuweisen, ob das, was man über das gesamte System gedacht hat, wirklich deterministisch richtig und widerspruchsfrei ist."
Moderne Verfahren erlauben schon vor der Testphase Beweise, bevor man also mit dem Schreiben des eigentlichen Programms beginnt. "Es sind insbesondere logische Verfahren, die man in der Vergangenheit nicht vollständig erforscht hatte, etwa das sogenannte Model Checking", so Ehrenberger. "Und dann gibt es Sprachen, in die man eine verbal abgefaßte Spezifikation übersetzen kann, um die Richtigkeit der Überlegungen zu prüfen." Bewährt hat sich hier die Unified Modelling Language (UML). Da sie logische Wahr-Falsch-Ausdrücke verwendet, entwickeln die Programmierer nun Werkzeuge, die automatisch prüfen, ob die Ausdrücke eines Programmentwurfs wahr sind.
Moderne Verfahren erlauben schon vor der Testphase Beweise, bevor man also mit dem Schreiben des eigentlichen Programms beginnt. "Es sind insbesondere logische Verfahren, die man in der Vergangenheit nicht vollständig erforscht hatte, etwa das sogenannte Model Checking", so Ehrenberger. "Und dann gibt es Sprachen, in die man eine verbal abgefaßte Spezifikation übersetzen kann, um die Richtigkeit der Überlegungen zu prüfen." Bewährt hat sich hier die Unified Modelling Language (UML). Da sie logische Wahr-Falsch-Ausdrücke verwendet, entwickeln die Programmierer nun Werkzeuge, die automatisch prüfen, ob die Ausdrücke eines Programmentwurfs wahr sind.