The formal analysis of automated systems is an important and growing industry. This activity routinely requires new verification frameworks to be developed to tackle new programming features, or new considerations (bugs of interest). Often, one particular property can prove frustrating to establish: completeness of the logic with respect to the semantics. In this paper, we try and make such developments easier, with a particular attention on completeness. Towards that aim, we propose a formal (meta-)model of software analysis systems (SAS), the eponymous Representations. This model requires few assumptions on the SAS being modelled, and as such is able to capture a large class of such systems. We then show how our approach can be fruitful, both to understand how existing completeness proofs can be structured, and to leverage this structure to build new systems and prove their completeness.
- ID de l'article : 2510.11419
- Titre : Représentations
- Auteur : Paul Brunet (EPISEN & LACL, Université Paris-Est Créteil Val de Marne)
- Classification : cs.LO (Logique en Informatique)
- Date de publication : 14 octobre 2025 (version arXiv)
- Lien de l'article : https://arxiv.org/abs/2510.11419
L'analyse formelle des systèmes automatisés est un domaine important et en constante évolution. Cette activité nécessite généralement de développer de nouveaux cadres de vérification pour traiter de nouvelles caractéristiques de programmation ou de nouvelles préoccupations (erreurs d'intérêt). L'une des propriétés particulièrement frustrante est l'établissement de la complétude d'une logique par rapport à la sémantique. Dans cet article, l'auteur tente de faciliter un tel développement, en se concentrant particulièrement sur la complétude. À cette fin, l'auteur propose une formalisation (méta)modèle des systèmes d'analyse logicielle (SAS), appelée « Représentations ». Ce modèle impose peu d'hypothèses sur les SAS modélisés, permettant ainsi de capturer une large classe de tels systèmes. L'article démontre ensuite comment cette approche s'avère fructueuse, tant pour comprendre la structure des preuves de complétude existantes que pour exploiter cette structure afin de construire de nouveaux systèmes et de prouver leur complétude.
À mesure que les systèmes automatisés assument des tâches de plus en plus diversifiées, les problèmes d'analyse formelle croissent en importance et en variété. Alors que le domaine était autrefois dominé par l'étude des systèmes critiques et de leurs défaillances potentielles, nous voyons désormais des problèmes tels que la qualité de service être également abordés par l'analyse formelle.
La correction des systèmes d'analyse logicielle (SAS) dépend de deux propriétés :
- Fiabilité (Soundness) : tout jugement valide dans la logique est satisfait par la sémantique
- Complétude (Completeness) : tout jugement sémantiquement correct peut être établi par la logique
La complétude est généralement la partie difficile des preuves de correction, car bien que la fiabilité puisse être établie en vérifiant la fiabilité de chaque règle logique, la complétude exige que le prouveur produise une dérivation pour chaque fait sémantique vrai, sans qu'aucune méthode universelle ne semble applicable.
L'auteur souhaite fournir une base méta-système modulaire capable de générer des SAS fiables et complets de manière transparente. Un tel outil permettrait d'appliquer les techniques d'analyse formelle à une classe plus large de systèmes et de catégories de problèmes les concernant.
- Proposition d'un modèle formel des Représentations : un cadre générique pour décrire les systèmes d'analyse logicielle, imposant peu d'hypothèses
- Établissement de la structure catégorique des représentations : définition des homomorphismes entre représentations, preuve que la catégorie des représentations est cartésienne
- Fourniture d'un modèle universel pour les preuves de complétude : par le concept de « réductions », un modèle déductif universel pour établir la complétude
- Développement d'une théorie des représentations d'ordre supérieur : caractérisation des représentations paramétrées par des foncteurs de la catégorie des ensembles vers la catégorie des représentations
- Démonstration de l'utilité pratique de la théorie : validation de l'efficacité de la méthode par plusieurs instances des algèbres de Kleene et leurs extensions
Définition 1 (Représentation) : Une représentation est un quadruplet R=⟨T,E,∣=,≤⟩, où :
- T est l'ensemble des traces
- E est l'ensemble des expressions
- ∣=:T⇀E est la relation de satisfaction
- ≤ est un préordre sur E, satisfaisant ∣=;≤⊆∣=
Une représentation est dite exacte lorsque (∣=\∣=)⊆≤.
Utilisant l'algèbre relationnelle, la fiabilité et la complétude peuvent être exprimées comme :
- Fiabilité : ∣=;≤⊆∣= (axiome 1)
- Complétude : ∣=\∣=⊆≤ (axiome 2)
où ∣=\∣= désigne la relation d'inclusion sémantique.
Définition 2 (Morphisme) : Étant données deux représentations R1 et R2, un morphisme du premier vers le second est une paire ⟨ϕ,ψ⟩:R1→R2, satisfaisant :
- ϕ:E1→E2 est une fonction, ψ:T2⇀T1 est une relation
- ϕ préserve l'ordre : ϕ∗;≤1⊆≤2;ϕ∗
- Compatibilité d'interprétation : ∣=2;ϕ∗=ψ;∣=1
Proposition 1 : Si R1 et R2 sont tous deux exacts, alors leur produit est également exact.
Définition 3 (Réduction) : Une réduction de la représentation R1 vers R2 est un triplet ⟨ϕ,τ,ψ⟩:R1⇝R2, satisfaisant :
- ϕ:E1→E2 et τ:E2→E1 sont des fonctions, ψ:T2⇀T1 est une relation
- τ préserve l'ordre : τ∗;≤2⊆≤1;τ∗
- Compatibilité d'interprétation : ∣=2;ϕ∗=ψ;∣=1
- Équivalence : τ∗;ϕ∗⊆≤1 et ϕ∗;τ∗⊆≤1
Proposition 2 : R1 est exact si et seulement s'il existe une représentation exacte R2 et une réduction R1⇝R2.
Définition 9 (HOR) : Une représentation d'ordre supérieur est une structure R=⟨T,E,∣∣=,⪯⟩, où :
- E et T sont des endofoncteurs de la catégorie des ensembles
- ∣∣=:T⇀E est une relation linéaire à droite
- ⪯:E⇀E est une relation naturelle
- Pour chaque ensemble A, RA=⟨TA,EA,∣∣=A,⪯A⟩ est une représentation
Soit Reg(A) l'ensemble des expressions régulières sur l'alphabet A. L'algèbre de Kleene libre produit une représentation exacte :
KA(A):=⟨A∗,Reg(A),∣=KA,≤KA⟩
où w∣=KAe est défini comme « w appartient au langage rationnel associé à e ».
Dans la preuve de complétude de KAT, l'auteur transforme chaque terme p en un terme équivalent en KAT p^, tel que l'ensemble des chaînes de garde G(p^) soit identique à l'ensemble des chaînes sous interprétation d'expression régulière R(p^). Ceci constitue une réduction de la représentation KAT vers la représentation KA.
La preuve de complétude de SKA se décompose en deux étapes :
- Établissement de la complétude pour un sous-ensemble d'expressions
- Preuve que chaque expression peut être traduite dans cette sous-syntaxe en préservant l'équivalence prouvable
Chaque étape est une instance de réduction, et la preuve entière peut être comprise comme une réduction unique.
L'article valide l'efficacité du cadre théorique par plusieurs instances d'extensions des algèbres de Kleene :
- Réduction KAT : ⟨^,id,1⟩ constitue une réduction de KAT vers KA
- Réduction SKA : la réduction composée ⟨^,id,Π∗⟩ établit la complétude
- Réduction CKA : réduction réalisée via la fonction de fermeture syntaxique ↓
Lemme 1 : Sous les conditions de la Définition 4, si de plus ≤2⊆≤1, ∣=2⊆∣=1 et R2 est exact, alors pour toute fonction ↓:E→E, les énoncés suivants sont équivalents :
- ⟨↓,id,1⟩ est une réduction
- ↓ est une fermeture syntaxique
L'article démontre comment étendre les HOR relationnels en foncteurs :
- PreOrd→Repr : traitement des monoïdes libres sur des ensembles préordonnés
- Repr→Repr : production de représentations paramétrées par d'autres représentations
Les institutions encapsulent également les informations syntaxiques et sémantiques dans une structure similaire, mais une institution contient plusieurs systèmes de raisonnement, tandis que les représentations tentent de capturer un système de raisonnement unique. La définition des institutions est plus stricte que celle des représentations, exigeant que la syntaxe et la sémantique possèdent une structure catégorique.
Les théories de spécification introduites par Fahrenberg et Legay peuvent être comprises comme des structures ⟨T,E,χ,≤⟩, où χ:T→E mappe les traces à leurs expressions caractéristiques. Elles peuvent être converties en représentations en posant ∣==χ∗;≤, de sorte que les théories de spécification sont des instances particulières de représentations.
- Les représentations fournissent un cadre générique et flexible pour modéliser les systèmes d'analyse logicielle
- La théorie des réductions offre une méthode structurée pour les preuves de complétude
- Les représentations d'ordre supérieur permettent la construction de systèmes paramétrés et modulaires
- La théorie a été validée efficacement dans les algèbres de Kleene et leurs extensions
- Choix de la méta-théorie : actuellement basée sur les catégories Set et Rel, mais des abstractions plus générales pourraient exister
- Fragment d'algèbre relationnelle : nécessité de déterminer le « bon » fragment d'algèbre relationnelle
- Applications pratiques : nécessité de davantage d'applications à des tâches de vérification concrètes pour valider l'utilité pratique
- Vérification formelle : formalisation des résultats dans le système de preuve Rocq
- Étude catégorique : identification de catégories utiles de représentations
- Applications concrètes : application de la théorie à des tâches de vérification spécifiques
- Abstraction méta-théorique : définition de structures abstraites capturant les exigences exactes sans hypothèses supplémentaires
- Unité théorique : fournit un cadre unifié pour comprendre différents systèmes d'analyse logicielle
- Accent sur la complétude : se concentre particulièrement sur la complétude, ce problème difficile, en fournissant une solution systématique
- Conception modulaire : réalise une preuve et une construction modulaires par une approche catégorique
- Instances riches : valide l'applicabilité de la théorie par plusieurs extensions des algèbres de Kleene
- Rigueur mathématique : fournit une base mathématique stricte utilisant l'algèbre relationnelle et la théorie des catégories
- Niveau d'abstraction élevé : le cadre théorique est considérablement abstrait, ce qui peut limiter l'intuitivité des applications pratiques
- Instances limitées : les instances principales se concentrent sur le domaine des algèbres de Kleene, l'applicabilité dans d'autres domaines reste à vérifier
- Manque de détails d'implémentation : absence de discussion sur l'implémentation concrète ou le support d'outils
- Considérations de performance : pas de discussion sur l'impact de la méthode proposée en termes de complexité computationnelle
- Contribution théorique : fournit de nouveaux outils théoriques au domaine des méthodes formelles
- Valeur méthodologique : peut influencer la structure et les méthodes des preuves de complétude futures
- Potentiel transdisciplinaire : la généralité du cadre le rend susceptible d'être appliqué à plusieurs domaines de vérification
- Valeur pédagogique : fournit une perspective unifiée pour comprendre les relations entre différents systèmes de vérification
- Développement de nouveaux systèmes de vérification : fournit des orientations théoriques pour développer de nouveaux systèmes d'analyse logicielle
- Preuves de complétude : fournit une méthode structurée pour établir la complétude des systèmes logiques
- Analyse comparative de systèmes : fournit une base unifiée pour comparer différents cadres de vérification
- Recherche théorique : fournit de nouveaux outils pour la recherche théorique en méthodes formelles
L'article cite 18 références importantes couvrant plusieurs domaines connexes, notamment l'algèbre relationnelle, la théorie des catégories, les algèbres de Kleene et leurs extensions, fournissant une base solide pour le développement théorique.