Ein Compilerfehler beschädigte Infidel offenbar 40 Jahre lang

Ein unbeachteter Fehler im ZIL-Compiler konnte Speicherbereiche des Klassikers Infidel verfälschen. Andrew Plotkin untersucht den Vorgang auf Ebene der Z-Maschine.

Ein Compilerfehler beschädigte Infidel offenbar 40 Jahre lang

Das Wichtigste

  • Der Fehler lag im Compiler ZIL und blieb offenbar vier Jahrzehnte unbemerkt.
  • Ein unkontrollierter Zeiger konnte den Speicher des Spiels Infidel beschädigen.
  • Andrew Plotkin rekonstruiert den Vorgang mithilfe des Assemblers der Z-Maschine.

Einordnung

Der Fall zeigt, wie einzelne Compilerfehler über Jahrzehnte in einer gewachsenen Software-Umgebung unbemerkt bestehen können. Die Analyse konzentriert sich auf die technische Ebene der Z-Maschine und damit auf die Wege zwischen Quellcode, kompiliertem Programm und Arbeitsspeicher.

Was das für Sie heisst

Direkt anwendbar

Der Fall verdeutlicht, wie Entwickler Speicherfehler in alten Systemen durch Compiler- und Assembleranalysen systematisch eingrenzen können.

Wer davon profitiert: Entwickler, die Legacy-Code, Compiler oder Z-Maschinen-Programme untersuchen und Dabei undokumentierte Fehler in der Laufzeitumgebung aufspüren wollen.

Die Seite bietet Architekturberatung und Analysen für gewachsene Legacy-Systeme an, einschließlich der Untersuchung langjährig verborgener Implementierungsfehler.

Artikel teilen: