Überblick
Häufig leisten Programme nicht, was von ihnen erwartet wird. Manchmal ist das nur störend; manchmal kostet das irgendjemanden Geld; und manchmal besteht die Möglichkeit, daß zum Beispiel ein computergesteuertes Flugzeug durch einen Programmierfehler abstürzt und Menschen verletzt oder getötet werden. Spätestens in solchen Fällen muß man sich sehr genau Gedanken darüber machen, wie man möglichst sicher sein kann, daß ein Programm keine Fehler enthält.
Es gibt in der Informatik zu diesem Thema ein geflügeltes Wort: „There is always one more bug.“ „Bug“ bedeutet einen Programmierfehler. Die Erfahrung, daß jedes Programm Fehler hat, machen Informatikerinnen schon lange. Es wird auf verschiedenste Weise versucht, die Fehleranfälligkeit in Programmen zu vermindern.
Die meistbenutzte Methode ist der Test von Programmen: Man probiert das Programm oder die einzelnen Teile mit verschiedenen, möglichst systematisch ausgewählten Eingabedatensätzen aus, betrachtet die Ergebnisse und entscheidet dann, ob das Programm einen Fehler gemacht hat oder nicht; wenn ein Fehler vermutet wird, dann wird genauer nachgeforscht, wie das unerwartete Programmverhalten zustande kam.
Von vielen Menschen wird ein anderes Verfahren, der formale Beweis von Programmen, als die sicherste Methode angesehen: Man spezifiziert fmöglichst formal — etwa mit den vorgestellten formalisierten Sprachen — was ein zu untersuchender Programmteil leisten soll und versucht dann Schritt für Schritt nachzuweisen, daß die Anweisungsfolge, aus der das Programm besteht, die Anforderungen erfüllt. Theoretisch kann man auf diese Weise die Korrektheit eines Programms nachweisen, ohne es je laufen zu lassen.
Wir wollen uns in diesem Kapitel um Stärken und Schwächen dieser beiden bekannten Methoden kümmern.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 1993 Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden
About this chapter
Cite this chapter
Gmehlich, R., Rust, H. (1993). Validierung von Programmen. In: Mehr als nur Programmieren…. Vieweg+Teubner Verlag. https://doi.org/10.1007/978-3-322-85940-2_5
Download citation
DOI: https://doi.org/10.1007/978-3-322-85940-2_5
Publisher Name: Vieweg+Teubner Verlag
Print ISBN: 978-3-528-05248-5
Online ISBN: 978-3-322-85940-2
eBook Packages: Springer Book Archive