Zum Inhalt
PlagiatScanner.de
Forschungsdaten · DAT-11

Softwareversionen für Reproduzierbarkeit festhalten

Notiere nicht nur den Namen eines Programms, sondern die exakte Version, das Betriebssystem, Erweiterungen, Abhängigkeiten, wesentliche Einstellungen und den Zeitpunkt der Ausführung. Bei Codeanalysen gehört eine maschinenlesbare Abhängigkeitsdatei dazu; bei grafischen Programmen ergänzt ein knappes Klick- und Exportprotokoll die Versionsangabe. So kann eine prüfende Person unterscheiden, ob abweichende Ergebnisse aus Daten, Methode oder technischer Umgebung stammen.

Environment-ProtokollStand: 4. September 2026

Warum eine Versionsnummer methodisch relevant ist

Software ist kein neutraler Behälter. Updates können Standardwerte, Rechenbibliotheken, Zufallszahlengeneratoren, Rundung, fehlende-Werte-Behandlung oder Exportformate verändern. Ein Ergebnis, das heute in einer Oberfläche erscheint, muss daher in einem späteren Release nicht bytegleich aussehen. Die Versionsangabe beweist noch keine Reproduzierbarkeit, schafft aber eine prüfbare Ausgangslage. Ohne sie bleibt unklar, ob eine Abweichung fachlich oder technisch verursacht wurde.

Das Ziel ist nicht, den Rechner vollständig zu archivieren. Dokumentiert werden die Komponenten, die den Analyseweg oder die Ausgabe beeinflussen können. Für eine reine Textkodierung kann das wesentlich weniger sein als für ein Modell mit mehreren Python-Paketen, nativen Bibliotheken und GPU-Unterstützung. Umfang und Risiko müssen zusammenpassen.

Der sinnvolle Mindestumfang

Beginne mit Programmname, vollständiger Versionskennung und Betriebssystem einschließlich Architektur. Ergänze verwendete Module, Plug-ins, Sprachpakete, Makros und externe Laufzeitumgebungen. Halte außerdem Sprache, Dezimaltrennzeichen, Zeitzone, Zeichenkodierung und andere regionale Einstellungen fest, wenn sie Import oder Ausgabe beeinflussen. Für die Eingabedaten gehören Dateiname, Prüfsumme oder eindeutige Version ins Analyseprotokoll; sensible Rohdaten selbst werden dadurch nicht öffentlich.

  • Identität: Produkt, Edition, Version, Build und Bezugsquelle.
  • Umgebung: Betriebssystem, Prozessorarchitektur und relevante Hardware.
  • Abhängigkeiten: Pakete, Erweiterungen, Treiber und ihre Versionen.
  • Konfiguration: von Standardwerten abweichende Optionen und Gebietsschema.
  • Ausführung: Datum, Eingabeversion, Befehl oder Klickfolge sowie Ausgabe.

GUI-Analysen brauchen mehr als einen Screenshot

Bei SPSS, Excel, MAXQDA oder anderer Oberflächensoftware sollte das Protokoll den Pfad vom Import bis zum Export beschreiben. Ein Screenshot kann eine Einstellung belegen, ersetzt aber keine strukturierte Liste: Er ist schlecht durchsuchbar, kann Menüs abschneiden und verrät nicht immer, welche Aktion vorher erfolgt ist. Exportiere Syntax oder Protokolle, wenn das Programm dies unterstützt. Wenn nicht, nummeriere die entscheidenden Schritte und benenne Dialog, Option und ausgewählten Wert.

Dokumentiere besonders still wirkende Entscheidungen: aktive Filter, ausgeblendete Zeilen, Gewichtungen, Ausschlussregeln, Pivot-Aktualisierung, manuell umkodierte Werte und die Auswahl eines Tabellenblatts. Speichere eine unveränderte Eingabedatei getrennt von der Arbeitskopie. Damit bleibt erkennbar, welche Veränderung durch die Software und welche durch die Bearbeitung entstanden ist.

Code-Umgebungen einfrieren, ohne sie zu versteinern

Für R, Python und ähnliche Umgebungen sind Paketlisten hilfreicher als eine handgeschriebene Auswahl. Werkzeuge wie renv, requirements.txt, Lockfiles oder Container-Manifeste halten Abhängigkeiten in unterschiedlicher Genauigkeit fest. Eine solche Datei sollte zusammen mit Analysecode und einem Startbefehl versioniert werden. Notiere zusätzlich die Interpreter-Version und systemnahe Voraussetzungen, die nicht im Paketmanager erscheinen.

Eine eingefrorene Umgebung ist kein Ersatz für Wartung: Alte Komponenten können Sicherheitsprobleme haben oder auf neuer Hardware nicht mehr laufen. Bewahre deshalb die historische Spezifikation auf, teste aber eine aktualisierte Umgebung getrennt. Unterschiede gehören in ein Änderungsprotokoll. Für langfristige Nachnutzung sind offene Formate, dokumentierte Installationsschritte und ein archivierter Release oft belastbarer als der bloße Link auf einen veränderlichen Entwicklungszweig.

Authority Asset: Environment-Protokoll für GUI und Code

  1. Analysekennung: Projekt, Arbeitspaket, Datum und verantwortliche Person.
  2. Eingabe: Dateiversion oder Prüfsumme, Format und Importoptionen.
  3. System: Betriebssystem, Architektur, Sprache, Zeitzone.
  4. Software: Name, Edition, Version, Build, Installationsquelle.
  5. Zusätze: Plug-ins, Pakete, Lockfile, Treiber und Laufzeit.
  6. Konfiguration: Filter, Seeds, Optionen und Abweichungen vom Standard.
  7. Ausführung: Befehl oder nummerierte Klickfolge; erwartete Ausgaben.
  8. Nachweis: Logdatei, Syntax, Screenshot nur ergänzend, Ausgabe-Prüfsumme.

Kurzformat zum Einfügen: „Ausgeführt am … mit … Version … (Build …) unter …; Abhängigkeiten laut …; Eingabe …; Konfiguration …; Aufruf …; Ausgabe …“

Die Wiederholungsprobe macht das Protokoll belastbar

Lass eine zweite Person oder dein zukünftiges Ich die Analyse anhand des Protokolls in einem neuen Ordner starten. Sie sollte die Daten finden, die Umgebung herstellen, den vorgesehenen Einstieg erkennen und die erwarteten Ausgaben erzeugen können. Notiere jeden fehlenden Schritt. Vergleiche nicht nur Endzahlen, sondern auch Fallzahlen, Warnungen, Zwischenobjekte und Ausschlusslisten. Bei stochastischen Verfahren sind erwartete Toleranzen und der verwendete Random Seed zu dokumentieren.

Wenn die exakte Altversion nicht mehr installierbar ist, bleibt die Dokumentation dennoch wertvoll: Sie erklärt die historische Entstehung und ermöglicht eine begründete Abweichungsanalyse. Kennzeichne dann, was rekonstruiert, emuliert oder mit neuer Version neu berechnet wurde. Eine reproduzierte Zahl und eine neu interpretierte Zahl sind unterschiedliche Nachweise.

Typische Fehler und eine praktikable Grenze

„Mit R ausgewertet“ ist zu grob; ein ungeprüfter Systemdump kann dagegen unnötig personenbezogene Pfade oder Zugangsinformationen enthalten. Prüfe exportierte Umgebungsdateien deshalb vor Veröffentlichung. Entferne Nutzernamen, private Serveradressen und Tokens, ohne fachlich relevante Versionen zu löschen. Bei geschützter Software darf die Dokumentation die Umgebung beschreiben, aber keine Lizenzdateien weitergeben.

Notiere auch die Plattform, wenn Bibliotheken betriebssystemspezifische Ergebnisse erzeugen. Diese Angabe hilft, Unterschiede gezielt zu untersuchen, ohne sie vorschnell der Datenanalyse zuzuschreiben.

Quellen und weiterführende Standards

  1. NIST/Nature Scientific Data: Guidelines for publishing computational models and data – Hinweise zu Software, Abhängigkeiten und reproduzierbaren Ausführungen.
  2. Research Software Directory – institutioneller Kontext zur Auffindbarkeit und Beschreibung von Forschungssoftware.
  3. GitHub Docs: About releases – offizielle Dokumentation zu versionierten Software-Releases.