Es gibt im Bereich der Softwaretechnik viele Werkzeuge, die den
Programmentwicklungsprozeß unterstützen. Sie stellen die Korrektheit der
Implementierung sicher, nicht aber ihre Effizienz. Die vorliegende
Arbeit führt daher eine Methode ein, die es erlaubt, die Zeitkomplexität
funktionaler Programme automatisch zu ermitteln. Die Grundidee dieser
Methode besteht darin, ein funktionales Programm in ein System von
Rekurrenzgleichungen zu übersetzen, dessen Lösung das Zeitverhalten des
Programms angibt. Durch Einführung von bedingten Rekurrenzen und
Rekurrenzfamilien ist es möglich, obere und untere Schranken für die
Zeitkomplexität zu finden. Um die mittlere Zeitkomplexität zu bestimmen,
müssen Wahrscheinlichkeiten dafür berechnet werden, daß im Programm
vorkommende Bedingungen wahr bzw. falsch werden. Diese
Wahrscheinlichkeiten werden anhand einer probabilistischen Semantik des
Programms berechnet. Um möglichst genaue Schranken für die
Zeitkomplexität zu erhalten, muß eine Abhängigkeitsanalyse durchgeführt
werden. Dies ermöglicht eine genaue Analyse von
Divide-and-Conquer-Programmen.