sl-sh | Simple Lisp Shell | Interpreter library
kandi X-RAY | sl-sh Summary
kandi X-RAY | sl-sh Summary
Simple Lisp Shell
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of sl-sh
sl-sh Key Features
sl-sh Examples and Code Snippets
Community Discussions
Trending Discussions on sl-sh
QUESTION
I am trying to generate contracts in C with E-ACSL plugin from FRAMA-C for the following program:
...ANSWER
Answered 2018-May-01 at 15:54First of all, it would be much easier for us to answer if you give the exact code on which you've tried to launch e-acsl, including its annotations. Putting these apart, without enclosing them properly in comments only means that it's more complicated to reproduce the issue, and that we can't be sure that we are reproducing exactly your setup.
That said, here are the issues that I've spotted by looking at the annotation above (without launching frama-c on it for the reasons previously stated).
Indeed, you cannot call a C function into an ACSL annotation. It is possible to define logic functions and predicates in ACSL, though, that you can then use in annotations (after having defined them of course). This is described in the ACSL manual, section 2.6, and ACSL by Example contains many examples of them.
In ACSL, as in C, equality is denoted by
==
, not=
.It might be a good idea to split your
ensures
into many clauses instead of having a single clause which is a conjunction: it would make it easier to find which part of the post-condition is not validated.Similarly, unless you want to complete the contract, the
behavior A:
does not serve any real purpose.On a stylistic side,
@
is only mandatory to introduce an annotation (with/*@ ... */
). You do not need to put one on each line.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install sl-sh
Install Rust and build from source: cargo build --release ./target/release/sl-sh OR
Install docker and build in a container:
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page