Automatische Komplexitÿ¿½Tsanalyse Funktionaler Programme

Bok av Wolf Zimmermann
Es gibt im Bereich der Softwaretechnik viele Werkzeuge, die den Programmentwicklungsproze untersttzen. Sie stellen die Korrektheit der Implementierung sicher, nicht aber ihre Effizienz. Die vorliegende Arbeit fhrt daher eine Methode ein, die es erlaubt, die Zeitkomplexitt funktionaler Programme automatisch zu ermitteln. Die Grundidee dieser Methode besteht darin, ein funktionales Programm in ein System von Rekurrenzgleichungen zu bersetzen, dessen Lsung das Zeitverhalten des Programms angibt. Durch Einfhrung von bedingten Rekurrenzen und Rekurrenzfamilien ist es mglich, obere und untere Schranken fr die Zeitkomplexitt zu finden. Um die mittlere Zeitkomplexitt zu bestimmen, mssen Wahrscheinlichkeiten dafr berechnet werden, da im Programm vorkommende Bedingungen wahr bzw. falsch werden. Diese Wahrscheinlichkeiten werden anhand einer probabilistischen Semantik des Programms berechnet. Um mglichst genaue Schranken fr die Zeitkomplexitt zu erhalten, mu eine Abhngigkeitsanalyse durchgefhrt werden. Dies ermglicht eine genaue Analyse von Divide-and-Conquer-Programmen.