Analyse de liveness — définition ?
Détermine si une variable influence une observation future.
Affectation morte — quand ?
Quand x ∉ Lo après l'affectation.
Code mort — élimination ?
Suppression d'instructions inutiles sans changer le comportement.
Boucle while — invariant ?
Calculé par point fixe jusqu'à stabilité.
Variable live — influence ?
Peut affecter une observation future.
Initialisation Java — problème ?
Variables non initialisées détectées par sur-approximation.
Analyse en arrière — rôle ?
Ajoute obs(T) pour variables bien initialisées.
Analyse en avant — rôle ?
Vérifie que variables utilisées sont initialisées.
Null pointer — domaine ?
Modélise nullité pour détection d'erreurs.
Invariant boucle — propriété ?
Vrai à l'entrée, conservé, garantit la postcondition.
Variables bien initialisées — définition ?
Ne sont pas live-in à l'entrée.
Boucle while — condition de sortie ?
Croiser invariant avec ¬C pour raffiner l'état.
Code mort — impact ?
Optimise sans changer le comportement observable.
Initialisation Java — problème indécidable ?
Oui, sur-approximation conservative nécessaire.
Nullité — assertion ?
Croise nullité avec domaine abstrait.
CFG — syntaxe ?
pc:=PC1; assume; Kk; Bk; branches conditionnelles.
CFG — état abstrait ?
Associe chaque PC à L ou G(p').
CFG — règle branchement ?
Test inutile si LA(p1)=LA(p2) et C morte.
Itération CFG — but ?
Atteindre stabilité des états jusqu'au point fixe.
Domaine pointeurs — représentation ?
(Z,N) : Z=F si non NULL, N=F si NULL.
Déréférencement — règle ?
Vert si p ≠ NULL certain, rouge si NULL certain.
Assertions nullité — croisement ?
Avec couples (Z,N), intersection pour compatibilité.
Prove WP — objectif ?
Vérifier invariants, pré/postconditions, terminaison.
Vulnérabilités C classiques ?
Débordements, comportements indéfinis, UAF, injections.
Metti alla prova le tue conoscenze con 12 domande su Analyse avancée de la sécurité et preuve de programmes.
1. Quel est le rôle principal de l'analyse de liveness dans l'optimisation des programmes ?
2. En quoi l'analyse d'initialisation en avant diffère-t-elle de l'analyse en arrière en Java ?
Ripassa il corso completo nella scheda di revisione per Analyse avancée de la sécurité et preuve de programmes.
Vedi la scheda di revisione →Bases de données
Bases de données
Programmation
Programmation
Importa il tuo corso e l'AI genera flashcard in 30 secondi.
Generatore di flashcard