Qualität wissenschaftlicher Software nicht immer gut

Informatiker am KIT und HITS entwickeln Open-Source-Tool, das Softwarestandards für wissenschaftliche Software automatisiert überprüft – 48 Tools bewertet


Für neue Entdeckungen in nahezu allen wissenschaftlichen Disziplinen sind digitale Werkzeuge unerlässlich. Überall wo große Datenmengen anfallen und schnell verarbeitet werden müssen, ist gute Software entscheidend, um Forschungsdaten zu analysieren und richtig zu interpretieren. Dies kann man z. B. in der Biologie, der Physik oder auch gerade in der Epidemiologie bei der Analyse der weltweit entstehenden Daten zu SARS-CoV-2 beobachten.
Doch die Entwicklung und Wartung wissenschaftlicher Software ist oft von unsicheren Finanzierungen und zeitlichem Druck geprägt. Um die Softwarequalität automatisiert bewerten zu können, haben Informatiker des Karlsruher Instituts für Technologie (KIT) sowie des Heidelberger Instituts für Theoretische Studien (HITS) nun das Tool SoftWipe zur Bewertung der Einhaltung von Software-Entwicklungsstandards entworfen.

 

Spezielle Software wird in fast allen wissenschaftlichen Bereichen genutzt
Spezielle Software wird in fast allen wissenschaftlichen Bereichen genutzt. Ihre Qualität ist nicht immer gut. (Foto: Markus Breig, KIT)

 

Veröffentlichung in Nature Scientific Reports

Im Nature Scientific Reports Journal wurde die Arbeit “The SoftWipe tool and benchmark for assessing coding standards adherence of scientific software” nun veröffentlicht. Der Artikel wurde gemeinsam von den Masterstudierenden Adrian Rapletal und Dimitri Höhler sowie von Prof. Alexandros Stamatakis und Prof. Carsten Sinz, beide am Institut für Theoretische Informatik des KIT, erarbeitet.

„Software aus allen Bereichen der wissenschaftlichen Forschung ist von zentraler Bedeutung für die Gewinnung neuer Erkenntnisse. Dennoch wird die Einhaltung von Codierungsstandards bei wissenschaftlicher Software selten berücksichtigt, obwohl dies im schlimmsten Fall zu falschen wissenschaftlichen Ergebnissen führen kann. Mit unserer Veröffentlichung möchten wir auf dieses Problem hinweisen und mit unserem Tool einen Lösungsansatz anbieten“, erläutert Professor Alexandros Stamatakis, der sowohl am HITS als auch am KIT tätig ist.
Im nun veröffentlichten Bericht stellen die Autoren ihr Open-Source-Tool namens SoftWipe vor, sowie ein relatives Ranking der Einhaltung von Software-Codierungsstandards für 48 wissenschaftliche Software-Tools aus verschiedenen Forschungsbereichen. SoftWipe kann auch im Begutachtungsprozess von wissenschaftlicher Software verwendet werden und den Auswahlprozess unterstützen. „Bei der Auswahl unserer Bewertungskriterien orientierten wir uns an bereits bestehenden Standards, die in sicherheitskritischen Bereichen, wie beispielsweise bei der NASA oder am CERN, eingesetzt werden. In den weiteren Untersuchungen konnten so enorme Unterschiede in der Softwarequalität festgestellt werden“, erklärt Professor Carsten Sinz das Vorgehen. Viele Programme wie beispielsweise das in Großbritannien im Rahmen der Pandemie eingesetzte covid-sim, wiesen dabei einen sehr niedrigen Score auf und schnitten so im Ranking sehr schlecht ab.
„Wir würden uns wünschen, dass Programme wie unser SoftWipe künftig standardmäßig im Auswahl- und Begutachtungsprozess für Software im wissenschaftlichen Bereich eingesetzt werden“, so Professor Stamatakis.

SoftWipe: Tool zum Ranking der Einhaltung von Software-Codierungsstandards

SoftWipe ist eine in 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.

Masterstudierende spielen entscheidende Rolle

Adrian Zapletal und Dimitri Höhler, beide Masterstudenten in Informatik am KIT, haben maßgeblich an SoftWipe mitgearbeitet. Im Rahmen ihrer Tätigkeit als studentische Hilfskräfte in der Arbeitsgruppe von Prof. Stamatakis konnten die beiden Studierenden SoftWipe entwickeln und veröffentlichen.  
Im Rahmen des Programmierpraktikums von Professor Stamatakis wird das Tool bereits standardmäßig von Studierenden zur Softwareanalyse eingesetzt.

Professor Alexandros StamatakisProfessor Alexandros Stamatakis entwickelt Software zur Analyse großer biologischer Datenmengen. Sein Forschungsschwerpunkt ist die Entwicklung skalierbarer Methoden und Software zur Analyse molekularer Daten. Stamatakis´ Publikationen beeinflussten damit die Evolutionsbiologie der letzten Jahre nachhaltig. Im Zentrum stehen dabei die Entwicklung von Software zur Berechnung evolutionärer Stammbäume, die Evaluierung und der Einsatz neuer paralleler Rechnerarchitekturen, die Evolution von Krebszellen und die statistische Klassifikation von Darmbakterien. Alexandros Stamatakis entschlüsselte im Rahmen zweier internationaler Forschungsprojekte den Stammbaum der Vögel sowie den Stammbaum der Insekten. Er leitet seit 2010 die HITS-Forschungsgruppe „Computational Molecular Evolution“, ist seit 2012 Professor für „High Performance Computing in den Lebenswissenschaften“ am Karlsruher Institut für Technologie (KIT) und seit 2021 affiliated Scientist am Institute for Molecular Biology and Biotechnology der Foundation for Research and Technology Hellas in Heraklion, Griechenland.

Professor Carsten SinzProfessor Carsten Sinz bekleidet seit 2018 die Stiftungsprofessur „Zuverlässige Softwaresysteme in der Automobilindustrie“ am KIT.
Seine Forschungsschwerpunkte sind Algorithmen für logische Erfüllbarkeitsprobleme (SAT/SMT), Produktkonfiguration und Software-Verifikation. Er entwickelte mit seiner Gruppe das Statische-Analyse-Werkzeug LLBMC, das mehrere Preise bei internationalen Wettbewerben gewinnen konnte.