A Study of Scientific Computational Notebook Quality
Diese Studie bewertet die Qualität wissenschaftlicher Code-Notizbücher anhand von Reproduzierbarkeit, Lesbarkeit und Wiederverwendbarkeit und stellt fest, dass die meisten Notizbücher aufgrund fehlender Daten, Abhängigkeitsprobleme, häufiger Code-Duplizierung und verworrener Zustandsänderungen schwer zu reproduzieren oder zu verstehen sind, was dringend verbesserte Werkzeuge und Abstraktionen erfordert.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, ein Wissenschaftler hat eine brillante Entdeckung gemacht. Er hat die Formel gefunden, die das Wetter vorhersagt, oder den Heilungsmechanismus für eine Krankheit entschlüsselt. Aber wie teilt er das mit der Welt? In der modernen Wissenschaft schreibt er nicht nur einen Aufsatz, sondern er hinterlässt auch den „Baukasten" – den Computercode, mit dem er zu diesem Ergebnis kam.
Dieser Code wird oft in sogenannten Jupyter-Notizbüchern geschrieben. Das sind digitale Arbeitsblätter, in denen Text, Bilder und Code ineinander verschmelzen, wie ein digitales Laborjournal.
Die Forschergruppe um Shun Kashiwa von der UC San Diego hat sich nun angesehen, wie gut diese digitalen Laborjournale eigentlich funktionieren. Sie haben 518 Code-Sammlungen aus den prestigeträchtigsten wissenschaftlichen Zeitschriften der Welt (Nature, 2024) untersucht. Ihr Fazit ist ernüchternd, aber wichtig: Die meisten dieser digitalen Baukästen sind kaputt oder unbrauchbar.
Hier ist die Studie in einfachen Worten, erklärt mit ein paar Bildern aus dem Alltag:
1. Der „Geister-Koch": Warum der Code nicht läuft
Stellen Sie sich vor, Sie finden ein Rezept für den perfekten Kuchen. Es sieht toll aus, aber wenn Sie es nachkochen wollen, fehlt die wichtigste Zutat: Die Schokolade. Oder das Rezept verlangt einen Ofen, den Sie gar nicht besitzen.
Das ist genau das Problem mit dem wissenschaftlichen Code.
- Das Ergebnis: Von 19 Notizbüchern, die die Forscher versucht haben, auszuführen, funktionierten nur zwei.
- Der Grund: Meistens fehlten die „Zutaten" (Daten-Dateien), die im Code erwähnt, aber nicht mitgeliefert wurden. Oder die „Kochutensilien" (Software-Bibliotheken) waren veraltet oder inkompatibel.
- Die Lehre: Ein Code, der nicht läuft, ist für andere Wissenschaftler wertlos. Man kann das Ergebnis nicht überprüfen, wenn man den Kuchen nicht backen kann.
2. Der „Kopier-Kleber": Warum alles doppelt ist
Stellen Sie sich vor, Sie bauen ein Haus. Anstatt eine gute Schablone für die Fenster zu bauen, schneiden Sie jedes Fenster einzeln aus Holz, kleben es an die Wand, und wenn Sie ein neues Fenster brauchen, schneiden Sie es wieder aus Holz, statt die Schablone zu nutzen.
Das passiert in den Notizbüchern ständig.
- Das Phänomen: Die Forscher fanden riesige Mengen an Code-Klonen. Das sind exakt gleiche Code-Schnipsel, die immer wieder kopiert und eingefügt werden.
- Warum? Wissenschaftler arbeiten oft im „Entdeckungsmodus". Sie wollen schnell etwas ausprobieren. Es ist schneller, Code zu kopieren, als eine saubere Funktion zu schreiben.
- Das Problem: Wenn sich ein Fehler in einem dieser kopierten Schnipsel findet, müssen Sie ihn an allen Stellen korrigieren. Das ist wie bei einem Haus, bei dem Sie 50 Fenster haben und jedes einzeln lackieren müssen, statt eine Farbe für alle zu mischen. Es macht den Code schwer zu lesen und unmöglich zu warten.
3. Der „Wirrwarr": Warum die Reihenfolge egal ist (und warum das schlecht ist)
Stellen Sie sich vor, Sie lesen eine Geschichte, aber die Seiten sind durcheinander. Sie können Seite 10 lesen, dann Seite 3, dann Seite 1. Solange Sie die Geschichte im Kopf haben, funktioniert das vielleicht. Aber was passiert, wenn Seite 10 eine Information enthält, die Seite 3 braucht, um Sinn zu ergeben?
Jupyter-Notizbücher erlauben genau das: Man kann Code-Blöcke in beliebiger Reihenfolge ausführen.
- Das Problem: Der Code verändert den Zustand des Programms (z. B. speichert er Werte). Wenn man die Reihenfolge ändert, wird der Code unvorhersehbar.
- Die Metapher: Es ist wie ein Koch, der erst den Kuchen backt, dann den Teig anrührt, dann die Eier aufschlägt. Wenn man das Rezept später jemand anderem gibt, weiß dieser nicht mehr, in welcher Reihenfolge die Zutaten gemischt wurden. Das Ergebnis ist ein Chaos, das niemand mehr verstehen kann.
4. Das leere Notizbuch: Wo ist die Erklärung?
Ein Notizbuch sollte nicht nur Code enthalten, sondern auch erklären, warum etwas getan wurde.
- Die Beobachtung: Die meisten wissenschaftlichen Notizbücher sind wie leere Hefte. Sie haben kaum Text. Oft gibt es nur Überschriften wie „Abschnitt 1" oder kurze Kommentare wie „Hier wird gerechnet".
- Was fehlt: Die eigentliche Geschichte. Warum wurde dieser Weg gewählt? Was bedeuten die Ergebnisse? Das ist wie ein Kochbuch, das nur die Zutatenliste hat, aber keine Anleitung, wie man die Zutaten kombiniert oder warum das Gericht schmeckt.
Was bedeutet das für die Zukunft?
Die Studie sagt uns nicht, dass Wissenschaftler schlechte Programmierer sind. Sie sagen, dass die Werkzeuge, die sie benutzen, nicht für die wissenschaftliche Arbeit gemacht sind.
- Das Dilemma: Wissenschaft braucht Flexibilität (man muss experimentieren können), aber gute Software braucht Struktur (damit man sie verstehen kann).
- Die Lösung: Wir brauchen neue Werkzeuge, die das Beste aus beiden Welten vereinen.
- Werkzeuge, die automatisch sicherstellen, dass alle „Zutaten" (Daten) dabei sind.
- Werkzeuge, die helfen, kopierten Code automatisch zu erkennen und in saubere Bausteine umzuwandeln.
- Werkzeuge, die den „Wirrwarr" der Reihenfolge verhindern, ohne die Kreativität einzuschränken.
Fazit:
Die Wissenschaft steht vor einem großen Problem: Wir haben die Entdeckungen, aber die Anleitung, wie man sie nachbaut, ist oft unvollständig oder unlesbar. Wenn wir die Wissenschaft voranbringen wollen, müssen wir die „Laborjournale" der Zukunft so gestalten, dass sie nicht nur für den Erfinder, sondern für jeden anderen Wissenschaftler auf der Welt verständlich, nachvollziehbar und nutzbar sind. Es geht darum, aus dem chaotischen Skizzenblock ein ordentliches, funktionierendes Bauhandbuch zu machen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.