Titel: Unittests für die Klimamodellentwicklung
Sonstige Titel: Unit Tests for Climate Model Development
Sprache: Deutsch
Autor*in: Hovy, Christian
Schlagwörter: Klimamodellierung; Softwaretests; Unittests; Softwaretechnik; High Performance Computing; Wissenschaftliche Softwareentwicklung; Fortran
Erscheinungsdatum: 2020-01
Tag der mündlichen Prüfung: 2020-12-18
Zusammenfassung: 
Moderne Klimamodelle, d.h. Computerprogramme zur numerischen Simulation klimatologischer Prozesse, werden von interdisziplinären Teams entwickelt und enthalten zahlreiche miteinander gekoppelte Teilmodelle, die unterschiedliche Komponenten und Prozesse des Klimasystems abbilden.
Die steigende Komplexität der Modelle sowie die Notwendigkeit, sich an immer leistungsfähigere Rechnerarchitekturen anzupassen, ist mit hohen softwaretechnischen Herausforderungen verbunden.
Dies betrifft insbesondere auch das Testen dieser Modelle.
Diese Dissertation im Fach Informatik befasst sich daher aus softwaretechnischer Sicht mit dem Testen von Klimamodellen und der Frage, wie sich die Erstellung von Unittests, d.h. von isolierten Tests kleinerer Codeeinheiten auf Prozedur- oder Modulebene, in diesem Kontext unterstützen lässt.

Im Rahmen einer internationalen Studie wird die Softwaretestpraxis in der Klimamodellierung an vier Forschungsinstituten untersucht.
Ein zentrales Ergebnis der Studie ist, dass Unittests dabei selten zum Einsatz kommen.
Stattdessen werden sowohl für die wissenschaftliche Evaluation der Modelle als auch beim Regressionstesten im Wesentlichen sog. Ende-zu-Ende-Tests eingesetzt.
Dabei wird jedes Mal das Hauptprogramm der Modellsoftware mit einer ausgewählten Konfiguration ausgeführt und alle Phasen einer Simulation durchlaufen.

Aufbauend auf den Ergebnissen der Studie wird argumentiert, dass Unittests eine sinnvolle Ergänzung dieser Testpraxis darstellen könnten, um die Produktivität der Entwicklung zu erhöhen.
Dies setzt jedoch voraus, dass der Aufwand für die Erstellung der Tests in einem vertretbaren Verhältnis zum Nutzen steht.
Um den Aufwand für die Erstellung von Unittests für Klimamodelle mit Hilfe eines anwendungsorientierten Verfahrens zu reduzieren, wird der sog. Capture-&-Replay-Ansatz vorgeschlagen.
Dabei werden Testdaten für Unittests einzelner Prozeduren aus existierenden Ende-zu-Ende-Tests gewonnen, indem bei deren Ausführung Ein- und ggf. Ausgangsdaten der zu testenden Prozedur aufgezeichnet werden.
Die Voraussetzungen und Gestaltungsoptionen für eine anwendungsorientierte Umsetzung dieses Vorgehens im Kontext Klimamodellierung werden diskutiert.

Zudem wird ein Softwarewerkzeug, der FortranTestGenerator, vorgestellt, welches auf Grundlage einer statischen Codeanalyse Code zum Aufzeichnen der Testdaten generiert sowie ein Testprogramm, in dem die aufgezeichneten Daten geladen werden, die zu testende Prozedur isoliert ausgeführt und dessen Ergebnisse validiert.
Sämtlicher generierter Code basiert dabei auf modifizierbaren Templates und lässt sich so an die Anforderungen der jeweiligen Umgebung und einzelner BenutzerInnen anpassen.
Im Rahmen von Experimenten mit vier unterschiedlichen Klimamodellen und einer Benutzerstudie mit drei Klimamodellentwicklern wird die Funktionsfähigkeit, Tauglichkeit und Benutzbarkeit des Werkzeugs demonstriert.

Climate models are computer programs for the numerical simulation of climatological processes.
They are developed by interdisciplinary teams and consist of numerous submodels representing different components and processes of the climate system.
The increasing complexity of these models and the need for adaptation to more and more powerful computer architectures come along with big software engineering challenges.
This also effects the testing of such models.
Therefore, this doctoral thesis in Informatics looks at the testing of climate models from a software engineering perspective.
Specifically, it addresses the question how the creation of unit tests (i.e. isolated tests of smaller code regions on module or procedure level) can be supported in that context.

A qualitative study on the software testing practices at four international climate modeling centers is conducted.
One of the main results is that unit tests are used quite rarely in this area.
Instead, scientific evaluation as well as regression testing is done mainly with the help of so-called end-to-end tests.
For those tests, the main program of the model software is executed, and all phases of a simulation are went through.

Based on the results of this study it is argued that unit tests could be a beneficial addition to the current testing practice.
Such tests can help to increase the productivity of the model development provided that the effort for their creation stands in a reasonable relation to their benefits.
As an application-oriented mean to reduce the effort for the creation of unit tests for climate models the so-called Capture & Replay method is proposed.
With this approach, test data for unit tests of individual procedures are derived from existing end-to-end tests by capturing in- and output data of the procedure to be tested during the end-to-end test execution.
Requirements and design options of an application-oriented implementation of this approach in the context of climate modeling are discussed.

In addition, a software tool called FortranTestGenerator is presented.
Based on a static source code analysis, the FortranTestGenerator generates a) the code for the capturing of the test data and b) a test program which loads the captured data, runs the procedure to be tested in isolation, and validates its results.
All parts of the generated code are derived from customizable templates and can hence be adapted to requirements of the current environment and individual users.
With experiments on four different climate models and a user study with three climate model developers the functioning, suitability, and usability of the tool is demonstrated.
URL: https://ediss.sub.uni-hamburg.de/handle/ediss/8877
URN: urn:nbn:de:gbv:18-ediss-90774
Dokumenttyp: Dissertation
Betreuer*in: Ludwig, Thomas
Züllighoven, Heinz
Enthalten in den Sammlungen:Elektronische Dissertationen und Habilitationen

Dateien zu dieser Ressource:
Datei Beschreibung Prüfsumme GrößeFormat  
diss_publish_20210307.pdf35c9151c4f538b003a4672fbcb70a63d13.04 MBAdobe PDFÖffnen/Anzeigen
Zur Langanzeige

Info

Seitenansichten

243
Letzte Woche
Letzten Monat
geprüft am 27.03.2024

Download(s)

623
Letzte Woche
Letzten Monat
geprüft am 27.03.2024
Werkzeuge

Google ScholarTM

Prüfe