Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
Frama-C Website
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
Frama-C Website
Merge requests
!30
[plugins] Convert to Markdown, normalize section names and URLs
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
[plugins] Convert to Markdown, normalize section names and URLs
plugins-to-markdown
into
master
Overview
4
Commits
10
Pipelines
13
Changes
56
1 unresolved thread
Hide all comments
Merged
Andre Maroneze
requested to merge
plugins-to-markdown
into
master
4 years ago
Overview
4
Commits
10
Pipelines
13
Changes
23
1 unresolved thread
Hide all comments
Expand
0
0
Merge request reports
Compare
version 1
version 12
bd3a2f45
4 years ago
version 11
16f84b5d
4 years ago
version 10
be491dd3
4 years ago
version 9
6ce5855f
4 years ago
version 8
9ca34d83
4 years ago
version 7
cf78d391
4 years ago
version 6
5dfb2033
4 years ago
version 5
a0171ca6
4 years ago
version 4
5665a281
4 years ago
version 3
1c5ff9fa
4 years ago
version 2
2f3df371
4 years ago
version 1
afb8f003
4 years ago
master (base)
and
version 2
latest version
6b4943e1
10 commits,
4 years ago
version 12
bd3a2f45
9 commits,
4 years ago
version 11
16f84b5d
9 commits,
4 years ago
version 10
be491dd3
8 commits,
4 years ago
version 9
6ce5855f
7 commits,
4 years ago
version 8
9ca34d83
6 commits,
4 years ago
version 7
cf78d391
5 commits,
4 years ago
version 6
5dfb2033
4 commits,
4 years ago
version 5
a0171ca6
1 commit,
4 years ago
version 4
5665a281
1 commit,
4 years ago
version 3
1c5ff9fa
1 commit,
4 years ago
version 2
2f3df371
1 commit,
4 years ago
version 1
afb8f003
1 commit,
4 years ago
Show latest version
23 files
+
283
−
340
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
23
Search (e.g. *.vue) (Ctrl+P)
_fc-plugins/aorai.md
0 → 100644
+
95
−
0
Options
---
layout
:
plugin
title
:
Aoraï
description
:
Verify specifications expressed as LTL (Linear Temporal Logic) formulas.
key
:
specifications
distrib_mode
:
main
manual_pdf
:
/download/frama-c-aorai-manual.pdf
---
## Overview
The
**Aoraï**
plug-in provides a method to automatically annotate a C program
according to an LTL formula
*F*
such that, if the annotations are verified,
then we ensure that the program respects
*F*
.
The classical method to validate annotations is to use the
[
Wp
](
wp.html
)
or
[
Eva
](
eva.html
)
plug-ins.
## Installation Dependencies
Aoraï is available in the main Frama-C distribution. It used to be
available from http://amazones.gforge.inria.fr/aorai, but the version
currently hosted there is obsolete and won't compile with newer versions of
Frama-C.
If you want to use LTL syntax for properties, you have to install the
[
ltl2ba
](
http://www.lsv.ens-cachan.fr/~gastin/ltl2ba/index.php
)
tool in your
path. This tool is distributed by its author, Paul Gastin (ENS Cachan),
under the GPL licence and converts an LTL formula into a Büchi automaton.
## Usage
The plug-in is activated with one of the following command lines:
frama-c file.c -aorai-ltl file.ltl
frama-c file.c -aorai-automata file.ya
These two commands differ only by the syntax used to express the
property to be verified:
*.ltl*
files are described in an ltl-like syntax,
while
*.ya*
are description of automata in an yacc-like syntax.
Options are:
-
`-aorai-verbose`
:
Gives some information during computation, such as used/produced files
and heuristics applied.
-
`-aorai-show-op-spec`
:
Displays, at the end of the process, the computed specification
of each operation, in terms of Büchi states and transitions.
-
`-aorai-dot`
:
Generates a dot file of the Büchi automaton. Dot is a graph
format used by the
[
GraphViz
](
http://www.graphviz.org
)
tool.
-
`-aorai-acceptance`
:
If set, considers acceptation states (Only on finite traces).
If not, only the safety is verified.
-
`-aorai-output-c-file`
:
*file*
Outputs the annotated program in
*file*
(the default is to
derive a name from the one of the first input file).
-
`-aorai-help`
:
Gives the whole list of options.
## Installation Dependencies
-
Only the safety part of properties is checked. The liveness part is not truly
considered. Currently, a liveness property is only a restriction that the
terminating state of the program has to be an accepting state.
Hence, if the program terminates, then the liveness property is verified.
-
Currently, function pointers are not supported.
-
In the init state from the automaton, conditions on C arrays and C structures
are not statically evaluated (which would be an optimization)
but are supported.
## Contact
Aoraï has been originally written by
[
Nicolas Stouls
](
mailto:nicolas.stouls@insa-lyon.fr?subject=[Plug-in
Aorai]),
[
CITI Labs
](
http://www.citi-lab.fr
)
,
[
AMAZONES team
](
http://amazones.gforge.inria.fr
)
.
It is currently maintained by CEA LIST as part of the main Frama-C distribution.
See our
[
contact
](
contact.html
)
page for more information.
**End Note:**
to the question "
*Why this name: Aoraï?*
" my answer is: why not?
Aoraï is the name of the tallest reachable mount in the Tahiti island and its
reachability is not always obvious.
## Further Reading
-
[
Short Documentation
](
{{page.manual_pdf}}
)
-
[
A few simple examples
](
/download/frama-c-aorai-example.tgz
)
Other resources can be found at
[
the official web page of Aoraï
](
http://amazones.gforge.inria.fr/aorai/
)
.
Loading