In fast allen wissenschaftlichen Disziplinen sind digitale Werkzeuge unerlässlich. Besonders wo große Mengen Forschungsdaten anfallen und schnell verarbeitet werden müssen, ist zuverlässige, sorgfältig entwickelte Software entscheidend, um sie zu analysieren und richtig zu interpretieren – etwa in der Biologie, der Physik oder ganz aktuell auch in der Epidemiologie. Jedoch ist das Entwickeln und Warten wissenschaftlicher Software oft von unsicherer Finanzierung und Zeitdruck geprägt, was zu Qualitätsmängeln führen kann. Um die Softwarequalität automatisiert zu bewerten, haben Informatiker des Karlsruher Instituts für Technologie (KIT) sowie des Heidelberger Instituts für Theoretische Studien (HITS) das Tool SoftWipe entworfen. Ihre Ergebnisse haben sie im Nature Scientific Reports Journal veröffentlicht.
„Das Einhalten von Codierungsstandards wird bei wissenschaftlicher Software viel zu selten berücksichtigt, obwohl das sogar zu falschen wissenschaftlichen Ergebnissen führen kann“, sagt Professor Alexandros Stamatakis, der sowohl am HITS als auch am Institut für Theoretische Informatik (ITI) des KIT tätig ist. Das Open-Source-Tool SoftWipe bietet einen schnellen, zuverlässigen und kostengünstigen Lösungsansatz, indem es Software-Entwicklungsstandards automatisiert bewertet. Neben dem Tool selbst haben die Informatiker ein Ranking von 48 wissenschaftlichen Softwares aus verschiedenen Forschungsbereichen erstellt und dabei bewertet, ob die Codierungsstandards eingehalten wurden.
„SoftWipe kann auch im Begutachtungsprozess von wissenschaftlicher Software verwendet werden und den Auswahlprozess unterstützen“, ergänzt Adrian Zapletal. Der Masterstudent und sein Kommilitone Dimitri Höhler haben maßgeblich zur Entwicklung von SoftWipe beigetragen. Bei der Auswahl der Bewertungskriterien orientierten sie sich an bereits bestehenden Standards, die in sicherheitskritischen Bereichen, wie beispielsweise bei der NASA oder am CERN, eingesetzt werden.
„In unseren Untersuchungen haben wir enorme Unterschiede in der Softwarequalität festgestellt“, sagt Mitautor Professor Carsten Sinz vom ITI. Viele Programme, wie beispielsweise covid-sim, das in Großbritannien zur mathematischen Modellierung der Infektionskrankheit COVID-19 eingesetzt wird, wiesen einen sehr niedrigen Qualitätsscore auf und schnitten so im Ranking schlecht ab. Die Wissenschaftler empfehlen, dass Programme wie SoftWipe standardmäßig im Auswahl- und Begutachtungsprozess für Software im wissenschaftlichen Bereich eingesetzt werden sollten.
So funktioniert SoftWipe
SoftWipe ist eine in der Programmiersprache Python3 geschriebene Pipeline, die mehrere überwiegend frei verfügbare statische und dynamische Code-Analyzer verwendet, um die Codequalität von in C/C++ geschriebener Software zu bewerten. Dabei kompiliert SoftWipe die Software und führt diese aus, um auch Programmierfehler während der Ausführung zu erkennen. Anhand der Ausgabe der verwendeten Tools zur Code-Analyse berechnet SoftWipe einen Qualitätsscore zwischen 0 (schlecht) und 10 (sehr gut) und erstellt daraus eine Gesamtbewertung.
Originalpublikation:
Zapletal, A., Höhler, D., Sinz, C. et al.: The SoftWipe tool and benchmark for assessing coding standards adherence of scientific software. Sci Rep 11, 10015 (2021).
https://doi.org/10.1038/s41598-021-89495-8
Als „Die Forschungsuniversität in der Helmholtz-Gemeinschaft“ schafft und vermittelt das KIT Wissen für Gesellschaft und Umwelt. Ziel ist es, zu den globalen Herausforderungen maßgebliche Beiträge in den Feldern Energie, Mobilität und Information zu leisten. Dazu arbeiten rund 10 000 Mitarbeiterinnen und Mitarbeiter auf einer breiten disziplinären Basis in Natur-, Ingenieur-, Wirtschafts- sowie Geistes- und Sozialwissenschaften zusammen. Seine 22 800 Studierenden bereitet das KIT durch ein forschungsorientiertes universitäres Studium auf verantwortungsvolle Aufgaben in Gesellschaft, Wirtschaft und Wissenschaft vor. Die Innovationstätigkeit am KIT schlägt die Brücke zwischen Erkenntnis und Anwendung zum gesellschaftlichen Nutzen, wirtschaftlichen Wohlstand und Erhalt unserer natürlichen Lebensgrundlagen. Das KIT ist eine der deutschen Exzellenzuniversitäten.