An abstract interpretation-based static analyzer for Rust built upon LiSA (Library for Static Analysis)
RustLiSA comes as a Gradle 6.6 project.
Development is done in Eclipse. You need to:
- install the Gradle IDE Pack plugin through the Eclipse Marketplace; from the eclipse menu bar:
- Help
- Eclipse Marketplace...
- Search for Gradle IDE Pack 3.8
- Install Gradle IDE Pack 3.8
- import the project into the eclipse workspace as a Gradle project.
- run
cp ./rust-lisa/gradle.properties.example ./rust-lisa/gradle.properties
add fill with the informations required - run the
./rust-lisa/gradlew build
Run the project with Java 11.
Note: in order to have gradle run you must run the project necessary with Java 11 and no greater version.
To run the project by using Eclipse you can use Run as Java application in Eclipse and passing a path to a Rust file as first argument.
The result will be put under the output
folder, which will have all the enabled reports and a .dot file with the LiSA-CFG
You can run other gradle task with
./rust-lisa/gradlew -q :tasks --all
Before every commit it is necessary to open a new branch with
git checkout -b <branch-name>
then you can start committing on that branch. Once you have finished, you first need to run
./rust-lisa/gradlew build
./rust-lisa/gradlew spotlessApply
and commit every change made to the files.
After that, you can open a Pull Request, marking the reviewers and adding tags about the PR, also with a short description.
- complete compilation from Rust constructs to LiSA control-flow graph nodes
- complete
semantics
methods of Rust control-flow graph nodes - integrate APRON for numerical analyses