IOCCC kehrt zurück: Menschliche C-Meister übertreffen KI
Nach einer vierjährigen Pause kehrte der International Obfuscated C Code Contest (IOCCC) dieses Jahr triumphal zurück und verzeichnete mit beispiellosen 23 Gewinnerbeiträgen einen Rekord. Diese Rekordzahl an Auszeichnungen war ein Beweis für die ungewöhnlich hohe Qualität der Einreichungen und zeigte die außergewöhnliche Beherrschung der C-Sprache durch Programmierer weltweit. Zu den herausragenden Gewinnern gehörten ein Programm, das unsichtbare Unicode-Zeichen auf geniale Weise nutzte, um ein komplettes Lachsrezept auszudrucken, und ein anderes, das die Juroren auf unvergessliche Weise mit einem 8-Bit-Musik- und Grafikport, der akribisch vom Atari 2600 nachgebildet wurde, „rickrollte“.
Die Juroren, darunter der Wettbewerbsgründer Landon Curt Noll, gaben bekannt, dass sie mit Großen Sprachmodellen (LLMs) experimentiert hatten, um den eingereichten Code zu analysieren. Die Ergebnisse dieser KI-Modelle waren jedoch gemischt, und letztendlich wurden sie im finalen Bewertungsprozess nicht eingesetzt. Die Juroren betonten die anhaltende Fähigkeit menschlicher Programmierer, Code zu erstellen, der die aktuellen Fähigkeiten der künstlichen Intelligenz weit übertrifft. Ein frappierendes Beispiel dafür war eine 750-Byte große LLM-Inferenz-Engine, die von einem der Gewinner entwickelt wurde – eine Leistung, die laut Noll kein aktuelles KI-Modell replizieren könnte. Der Quellcode aller Gewinnerbeiträge, einschließlich des berüchtigten “Rickrolls”, ist jetzt öffentlich in einem speziellen GitHub-Repository verfügbar, wobei der IOCCC voraussichtlich im Dezember 2025 zurückkehren wird. Wie Noll bemerkte: “Bei jedem Wettbewerb gibt es neue Dinge, von denen ich nicht wusste, dass man sie mit C machen kann, die die Leute zeigen, dass sie sie können!”
Die diesjährige Veranstaltung sah auch die Wiederbelebung einer 40 Jahre alten Tradition: eine Live-Bekanntgabe der Gewinner. Dies geht auf die 1980er Jahre zurück, als die Gewinner in einer speziellen Sitzung der Usenix-Konferenz bekannt gegeben wurden, oft unmittelbar nach einer Präsentation zur neuesten BSD-Veröffentlichung. Noll erinnerte sich humorvoll an diese frühen Tage, in denen er Ergebnisse “auf Folien ausdruckte und einen Overhead-Projektor verwendete” – ein starker Kontrast zu den heutigen digitalen Projektionen. Die Wettbewerbsorganisatoren haben seitdem ihre Infrastruktur modernisiert und bieten nun Videos an, die die oft bizarre und brillante Ausgabe der kompilierten Gewinnerbeiträge demonstrieren. Noll orchestrierte mit Hilfe von David McInnis eine aufwendige Preisverleihung im Jahr 2025, die mehrere Video- und Audio-Feeds sowie Originalmusik umfasste, um sicherzustellen, dass jeder Gewinnerbeitrag das ihm zustehende Rampenlicht erhielt.
Noll glaubt, dass die verlängerte vierjährige Pause den Teilnehmern unbeabsichtigt mehr Zeit gab, ihre Einreichungen zu verfeinern, was zu einem Anstieg hochwertiger Beiträge führte. Während frühere Wettbewerbe typischerweise 12 bis 15 Preise vergaben, übertrafen die 23 Gewinner dieses Jahres alle bisherigen Rekorde. Das schiere Volumen außergewöhnlicher Beiträge bedeutete, dass es keinen einzelnen “Best of Show”- oder “Grand Prize”-Gewinner gab, da so viele als höchste Auszeichnung würdig erachtet wurden.
Bezüglich des Einflusses von KI bemerkte Leonid A. Broukhis, ein zweimaliger IOCCC-Gewinner und langjähriger Juror, dass die Pause es ihnen ermöglichte, LLMs für die Codeanalyse zu testen. Während einige Modelle den Zweck bestimmter Einträge vage anhand der Gesamtstruktur oder mathematischer Logik ableiten konnten, waren andere “völlig ahnungslos”. Noll stellte ausdrücklich fest, dass LLMs nicht im Bewertungsprozess verwendet wurden, noch empfahl er ihren Einsatz zur Erstellung zukünftiger Einträge. Er warnte, dass KI-generierter Code für einen so nuancierten Wettbewerb wahrscheinlich “Müll” wäre, oft nicht kompilierbar oder C zwar im Aussehen ähnelnd, aber nicht in der Funktionalität. Noll lobte, basierend auf seinen 40 Jahren als Juror, menschliche Programmierer als “Meister der C-Sprache”, die zu immensen Anstrengungen und Fähigkeiten fähig sind, komplexe Ideen in winzige, obfuskierte Blöcke zu verdichten. Während LLMs schließlich für zukünftige Teilnehmer einen Zweck erfüllen könnten – vielleicht um zu testen, ob ihr Code für eine KI wirklich unverständlich ist –, betonte Noll, dass das menschliche Element weiterhin von größter Bedeutung ist.
Der berüchtigte Rickroll-Beitrag, eingereicht vom Programmierer Vince Weaver, war ein Höhepunkt. Die Juroren beschrieben ihren verwirrten Prozess der Code-Entschlüsselung, der massive Konstantendeklarationen, einen geforkten Kindprozess und strategische Verzögerungen umfasste, bevor sie erkannten, dass sie Opfer des jahrzehntealten Internet-Scherzes geworden waren. Das Programm war eine grobe Portierung einer Atari 2600-Version, komplett mit 8-Bit-Musik und Grafiken. Ein weiterer erstaunlicher Beitrag stammte vom legendären obfuskierten C-Programmierer Yusuke Endoh, dessen Programm wunderschöne ASCII-Animationen von sich drehenden Objekten zeigte, die die reale Physik eines rotierenden starren Körpers demonstrierten. Endoh bettete sogar geschickt das Bild eines Kreisels in den Leerraum seines stark obfuskierten Quellcodes ein. Adrian Cable reichte zusätzlich zu seiner LLM-Inferenz-Engine einen zweiten preisgekrönten Beitrag ein: ein scheinbar harmloses 15-zeiliges Programm. Dieser Code, der eine irreführende Variablendeklaration (unsigned int *salmon = U" is very yummy";
) enthielt, druckte auf magische Weise ein vollständiges Rezept für gegrillten Lachs. Der Trick lag in unsichtbaren Unicode-Zeichen, die zusätzliche Codezeilen bildeten, clever vor Standard-Texteditoren verborgen, zusammen mit einer verwirrenden, niemals ausgeführten Köder-for
-Schleife. Diese geniale Einreichung gewann den “Murky Waters”-Preis des Wettbewerbs.
Blickt man in die Zukunft, so beherbergt das spezielle GitHub-Repository nun Quellcode von jedem IOCCC seit 1984, wodurch die Geschichte des obfuskierten C leicht zugänglich wird. Zukünftige Pläne umfassen kurze Videos, die frühere Gewinner zeigen, Aktualisierungen der Werkzeuge zur Paketierung von Beiträgen und Verbesserungen der Serverinfrastruktur des Wettbewerbs. Die nächste Registrierungsperiode des IOCCC wird voraussichtlich im Dezember 2025 beginnen, wobei die Organisatoren planen, die Wettbewerbsregeln basierend auf ihren jüngsten Jurierungserfahrungen zu überarbeiten und zu verfeinern. Vorerst gönnen sich die Juroren, die seit Dezember 2020 Tausende von Stunden in das Projekt investiert haben, eine wohlverdiente Pause und freuen sich darauf, abzuschalten und die Früchte der erstaunlichen Arbeit der Teilnehmer zu genießen.