MetAcsl: Specification and Verification of High-Level Properties
Résumé
Modular deductive verification is a powerful technique capable to show that each function in a program satisfies its contract. However , function contracts do not provide a global view on which high-level (e.g. security-related) properties of a whole software module are actually established, which makes it very difficult to express such properties. To address this issue, this paper proposes a new specification mechanism, called meta-properties, able to express a rich set of high-level properties. A meta-property can be seen as an enhanced global invariant specified for all or a subset of functions, and capable to express predicates on values of variables, as well as memory related conditions (such as separation) and read or write access constraints. We also propose an automatic transformation technique translating meta-properties into usual contracts and assertions, that can be proved by deductive verification tools in a usual way. This technique has been implemented as a Frama-C plugin called MetAcsl and successfully applied to specify and prove several safety-and security-related meta-properties in two illustrative case studies.
Domaines
Génie logiciel [cs.SE]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...