Au temps en emporte le C
Abstract
Le (bon) séquencement des événements au fil du temps fait partie
des nombreux sujets d'analyse de programmes, par exemple
pour l'étude de protocoles d'échange d'information ou
de systèmes embarqués. De nombreux travaux de
logique temporelle linéaire (LTL) permettent de décrire formellement
le comportement attendu d'un programme, sous la forme
d'une succession d’actions distinctes.
Implanté au sein de Frama-C, plate-forme d'analyse
de code source en langage C, le greffon Aoraï permet
la génération de spécifications équivalentes, dans leur
ensemble, à la conformité d'un programme C donné vis à vis
d'une formule de logique
temporelle linéaire. Ce greffon
discrétise le temps de telle sorte que seuls les appels
et les retours de fonctions sont considérés comme des
événements. Cet article présente Model-CaRet, un nouveau greffon
Frama-C qui généralise la trace étudiée par Aoraï.
Plus précisément, Model-CaRet est dédié à la génération du test de
satisfiabilité, et à sa vérification automatique,
d'une formule de logique CaRet sur un programme C,
représenté sous la forme d'une machine à états récursif.
CaRet est une extension naturelle de la LTL permettant l'étude
simultanée de plusieurs traces d'exécution, et en particulier
de manipuler explicitement la pile d'appel du programme dans les
formules.
Origin : Files produced by the author(s)
Loading...