Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
Frama-C Website
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pub
Frama-C Website
Commits
4c6038c6
Commit
4c6038c6
authored
Nov 20, 2020
by
Virgile Robles
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update MetAcsl's description
parent
f355596e
Pipeline
#30931
passed with stages
in 3 minutes and 46 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
11 deletions
+11
-11
_fc-plugins/metacsl.md
_fc-plugins/metacsl.md
+11
-11
No files found.
_fc-plugins/metacsl.md
View file @
4c6038c6
---
layout
:
plugin
title
:
MetAcsl
description
:
Verification of
meta-propertie
s
description
:
Verification of
high-level ACSL requirement
s
key
:
specifications
distrib_mode
:
proto
distrib_mode
:
free
repo_url
:
https://git.frama-c.com/pub/meta
---
## Overview
MetAcsl is a plug-in dedicated to specifying and verifying
*
meta-properties*
, that is, properties that are supposed
*
high-level ACSL requirements*
(HILARE)
, that is, properties that are supposed
to be checked at many points of the code base under analysis,
so that writing the corresponding ACSL annotations manually
would be extremely tedious and error-prone. A simple example
of such a
property
would be a confidentiality property indicating
of such a
requirement
would be a confidentiality property indicating
that no access to a particular memory block should occur unless
some clearance condition holds. Specifying that in pure ACSL
would require writing an assertion for each read access in the
code, while MetAcsl only needs a single
meta-property
.
code, while MetAcsl only needs a single
HILARE
.
In summary, MetAcsl defines a global ACSL extension for describing
meta properties, that are composed of three thing
s:
HILAREs, that are composed of three element
s:
-
a target: the set of functions where the
meta-property
should hold;
-
a target: the set of functions where the
HILARE
should hold;
-
a context: the kind of program points that are concerned by the
meta-property
. Two important contexts are
`\writing`
and
HILARE
. Two important contexts are
`\writing`
and
`\reading`
accesses;
-
the property itself: it is an ACSL predicate, possibly enriched
...
...
@@ -35,13 +35,13 @@ a `\writing` context gives rise to a `\written`
meta-variable denoting the location being written to.
The plug-in proceeds by generating all ACSL annotations corresponding to
each
meta-property
. It is then possible to use one of the main analysis
each
HILARE
. It is then possible to use one of the main analysis
plug-ins of the platform (e.g.
[
WP
](
wp.html
)
,
[
E-ACSL
](
e-acsl.html
)
, or
[
Eva
](
eva.html
)
) to
verify these annotations.
## Usage
MetAcsl is available as a separate open-source plug-in, on
[
Gitlab
](
https://git.frama-c.com/pub/meta
)
.
MetAcsl is available as a separate open-source plug-in, on
[
Gitlab
](
https://git.frama-c.com/pub/meta
)
(
more
information here)
.
It is intended to be compatible with the latest state of
[
Frama-C's public repository
](
https://git.frama-c.com/pub/frama-c
)
.
Once installed, the plugin is activated by the
`-meta`
option, which will parse the meta-properties and generate the corresponding ACSL annotations.
\ No newline at end of file
Once installed, the plugin is activated by the
`-meta`
option, which will parse the meta-properties and generate the corresponding ACSL annotations.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment