Je me demandais si les compilateurs modernes d'aujourd'hui comme MS cc, gcc, clang, icc, des versions plus récentes ont été construits avec la version actuelle du même compilateur ?
En raison bien sûr de ce risque :
http://scienceblogs.com/goodmath/2007/04/15/strange-loops-dennis-ritchie-a/
http://c2.com/cgi/wiki?TheKenThompsonHack
Je suis sûr que toutes les personnes impliquées dans le développement des compilateurs susmentionnés connaissent ce problème, par lequel du code est injecté dans le compilateur par une version antérieure de lui-même et se propage de manière invisible.
Maintenant, le vrai problème n'est pas vraiment celui des portes dérobées, mais plutôt celui de la correction de la génération du code, n'est-ce pas ? Que se passe-t-il si quelque part dans la chaîne de construction, une torsion perverse a été introduite par pure erreur, et que le compilateur d'aujourd'hui génère un code incorrect, même si la source du compilateur semble correcte, à cause de la faille de Ken Thompson ?
Alors s'ils sont construits avec eux-mêmes, comment se protègent-ils ?