Habr AI→ original

Les LLM peinent avec unsafe Rust : six mois de tests ont révélé des erreurs critiques

Pendant six mois, l’auteur a fait écrire du code unsafe Rust à des LLM dans des projets réels et a analysé les résultats avec Miri. Les modèles se trompent de f

Les LLM peinent avec unsafe Rust : six mois de tests ont révélé des erreurs critiques
Source : Habr AI. Collage: Hamidun News.
◐ Écouter l'article

L'auteur a demandé à LLM d'écrire du code unsafe Rust dans des projets en production pendant six mois et a vérifié chaque bloc avec Miri et des sanitizers. Le résultat était décevant : les modèles faisaient les mêmes erreurs de manière prévisible et constante.

Sept catégories d'erreurs LLM dans unsafe Rust

Les modèles font systématiquement les mêmes erreurs aux mêmes endroits :

  • Aliasing — violation de la règle des références non chevauchantes
  • Provenance — tentatives d'utiliser des pointeurs obtenus de manière incorrecte
  • Layout en alloc/dealloc — désalignement de taille/alignement lors de l'allocation et la désallocation
  • ManuallyDrop — oublient d'appeler drop ou accèdent à l'objet après drop
  • Race conditions dans les callbacks FFI — conditions de course lors de l'appel de fonctions C à partir de threads
  • Send/Sync manuels — implémentent incorrectement les traits de sécurité des threads
  • Mémoire Uninit — traitent les données non initialisées comme initialisées

Pourquoi Miri a révélé les problèmes

Miri est un interpréteur Rust qui suit le comportement indéfini. Lorsque LLM génère du code avec des violations subtiles à première vue (par exemple, un pointeur temporaire avec une provenance incorrecte), le compilateur régulier les manque, mais Miri les détecte. Sous les sanitizers (AddressSanitizer, ThreadSanitizer), les conditions de course et les use-after-free ont été découverts, ce qui peut ne pas apparaître dans les tests réguliers.

«

Chaque catégorie est accompagnée d'un exemple minimal et d'une correction » — l'auteur montre qu'il ne s'agit pas seulement d'observations, mais de modèles d'erreurs reproductibles.

Ce que cela signifie

Les LLM ne sont pas encore prêts à écrire unsafe Rust sans supervision humaine. Ils génèrent bien la syntaxe et la logique générale, mais font systématiquement des erreurs en gestion mémoire et multithreading. Pour le code critique (logiciels système, bibliothèques système), l'unsafe Rust des modèles doit être vérifié avec Miri.

ZK
Hamidun News
Actualités IA sans bruit. Sélection éditoriale quotidienne de plus de 400 sources. Produit de Zhemal Khamidun, Head of AI chez Alpina Digital.
Qu'en pensez-vous ?
Chargement des commentaires…