Bogue non documenté découvert dans le code de l'ordinateur de guidage d'Apollo 11 grâce à l'IA et à un langage de spécification

Découvrir un bogue dans l'un des codes les plus examinés de l'histoire
Le code de l'ordinateur de guidage Apollo (AGC) est disponible publiquement depuis 2003, transcrit à partir de listings imprimés du MIT Instrumentation Laboratory. En 2016, le dépôt GitHub de Chris Garry est devenu viral, et des milliers de développeurs ont examiné ce code assembleur fonctionnant sur un matériel avec 2 Ko de RAM effaçable et une horloge à 1 MHz. Malgré cet examen minutieux, aucune vérification formelle, vérification de modèle ou analyse statique n'avait été publiée sur le code de vol jusqu'à présent.
Le bogue : une fuite de verrouillage de ressource dans le contrôle gyroscopique
Le bogue se trouve dans le sous-système de l'unité de mesure inertielle (IMU), qui gère la plateforme basée sur gyroscope qui indique au vaisseau spatial dans quelle direction il pointe. L'AGC gère l'IMU via un verrouillage de ressource partagée appelé LGYRO. Lorsque l'ordinateur doit appliquer un couple aux gyroscopes (pour corriger la dérive de la plateforme ou effectuer un alignement stellaire), il acquiert LGYRO au début et le libère lorsque les trois axes ont été mis en couple.
Le problème survient pendant le « caging » - une mesure d'urgence où une pince physique verrouille les cardans de l'IMU en place pour protéger les gyroscopes des dommages. Lorsque le couple se termine normalement, la routine sort via STRTGYR2 et le verrou LGYRO est effacé. Mais lorsque l'IMU est cagée pendant qu'un couple est en cours, le code sort via une routine appelée BADEND, qui n'efface pas le verrou.
Deux instructions manquent : CAF ZERO TS LGYRO - seulement quatre octets. Une fois que LGYRO est bloqué, chaque tentative ultérieure de mettre en couple les gyroscopes trouve le verrou maintenu, entre en veille en attendant un signal de réveil qui ne viendra jamais, et se bloque. Cela désactiverait l'alignement fin, la compensation de dérive et le couple gyroscopique manuel.
Comment il a été trouvé : IA et spécifications comportementales
Les chercheurs ont utilisé Claude et Allium, leur langage de spécification comportementale open-source, pour condenser 130 000 lignes d'assembleur AGC en 12 500 lignes de spécifications. La spécification modélise le cycle de vie de chaque ressource partagée : quand elle est acquise, quand elle doit être libérée, et sur quels chemins. Cette approche a révélé une faille que la lecture et l'émulation avaient manquée.
Les spécifications ont été dérivées du code lui-même, et le processus a directement signalé le défaut. Cela représente une approche différente des examens précédents, qui se concentraient sur la lecture du code, l'émulation du code et la vérification de la transcription.
Contexte historique et impact potentiel
Le 21 juillet 1969, alors que Neil Armstrong et Buzz Aldrin marchaient sur la surface lunaire, Michael Collins orbitait seul dans le module de commande Columbia. Toutes les deux heures, il disparaissait derrière la Lune, hors de tout contact radio avec la Terre. Pendant chaque passage, il exécutait le Programme 52, un alignement par visée stellaire qui maintenait la plateforme de guidage pointée dans la bonne direction. Si la plateforme dérivait, la poussée du moteur pour le ramener à la maison pointerait dans la mauvaise direction.
Le bogue aurait pu se manifester si Collins avait accidentellement déclenché l'interrupteur de cage pendant que l'ordinateur mettait en couple les gyroscopes. Le code aurait géré cela élégamment en détectant la cage, en abandonnant le couple et en sortant - mais l'alignement P52 échouerait, et la plateforme de guidage pourrait perdre sa référence.
📖 Read the full source: HN AI Agents
👀 See Also

Les LLM favorisent leurs propres résultats en matière d'embauche : taux de présélection de 23 à 60 % plus élevés pour les CV retravaillés par l'IA
Une expérience à grande échelle montre que les filtres de CV basés sur les LLM préfèrent les CV générés par l'IA dans 67 à 82 % des cas, ce qui augmente de 23 à 60 % les taux de présélection pour les candidats utilisant le même modèle.

MiniMax M2.7 Modèle Lancé avec des Performances de Codage Améliorées
MiniMax a publié M2.7, un modèle d'IA qui obtient un score de 56 % sur les benchmarks de codage SWE-Pro et inclut des capacités d'auto-optimisation. Le modèle maintient un tarif de 0,30 $ par million de jetons d'entrée.

Une étude longitudinale révèle que les gains de productivité liés à l'IA sont de 10 %, et non multipliés par 10.
Une étude longitudinale suivant 40 entreprises de novembre 2024 à février 2026 a révélé que l'utilisation de l'IA a augmenté de 65 % en moyenne, mais que le débit des demandes de fusion n'a augmenté que de 9,97 %. Les données suggèrent que le codage n'a jamais été le principal goulot d'étranglement dans le développement logiciel.

Snowflake licencie son personnel chargé de la documentation après avoir formé un remplacement par IA
Snowflake a confirmé des 'réductions ciblées de personnel' dans les équipes de rédaction technique et de documentation, des sources rapportant qu'environ 400 personnes sont concernées. L'entreprise enregistrait en vidéo les sessions de documentation depuis 8 mois pour constituer des jeux de données d'entraînement à partir des flux de travail des rédacteurs seniors.