Introduction

Les modèles de langage à grande échelle (LLMs) ont récemment fait des progrès significatifs dans le domaine des méthodes formelles appliquées aux systèmes informatiques. Dans cet article, nous explorons les capacités des LLMs à modéliser des systèmes réels en utilisant le langage de spécification TLA+, en nous concentrant sur leur capacité à abstraire la logique d'une implémentation complexe et à la convertir en un modèle formel correct.

Contexte Technique

TLA+ est un langage de spécification pour les systèmes concurrents et distribués. Les LLMs ont été entraînés sur une grande quantité d'exemples de spécifications TLA+ en ligne, ce qui les rend capables de générer des spécifications qui passent les vérifications de syntaxe et de runtime. Cependant, la question se pose de savoir si ces spécifications reflètent fidèlement le comportement du système réel ou si elles ne font que réciter les spécifications du manuel.

Pour répondre à cette question, nous avons développé SysMoBench, un benchmark automatisé qui évalue les spécifications TLA+ générées par les LLMs sur onze systèmes différents, allant des protocoles de synchronisation concurrente aux protocoles distribués. Chaque système est fourni avec du code source, un harnais de collecte de traces et un modèle d'invariant.

Analyse et Implications

Lorsque nous exécutons les LLMs actuels sur SysMoBench, nous observons que leurs spécifications réussissent bien les premières phases d'évaluation (syntaxe et runtime), mais échouent souvent lors de la phase de conformité et de la phase d'invariant. Cela indique que les LLMs génèrent des spécifications qui suivent des modèles de formalisation courants, mais qui ne reflètent pas fidèlement le comportement du système réel.

Deux modes d'échec systématiques apparaissent : (1) la spécification entre dans des états que le système réel ne peut jamais atteindre, et (2) la spécification ne parvient pas à atteindre des états que le système réel atteint toujours. Ces modes d'échec sont directement liés à la façon dont les LLMs abstraient la logique de l'implémentation et la convertissent en un modèle formel.

Perspective

Les résultats de notre étude soulignent l'importance de développer des méthodes d'évaluation plus approfondies pour les spécifications générées par les LLMs, en allant au-delà des vérifications de syntaxe et de runtime. La phase de conformité et la phase d'invariant sont essentielles pour évaluer la fidélité des spécifications par rapport au comportement du système réel.

Les LLMs ont le potentiel de révolutionner le domaine des méthodes formelles, mais il est crucial de comprendre leurs limites et de développer des outils et des méthodes pour les améliorer. Les résultats de notre étude ouvrent la voie à de nouvelles recherches sur la façon d'améliorer les capacités des LLMs à modéliser des systèmes réels et de développer des spécifications plus précises et plus fiables.