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.